-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
Description
Bug description
Calling a service through -> on a scalar may not lead to the expected result:
open class helloworld::HelloWorld {
@main
def void main() {
self->oclIsTypeOf(helloworld::HelloWorld); // false
}
}Additional context
- ALE version: master @ 728195a
Cause
Acceleo's EvaluationServices implicitely turns the first argument into a list (see collectionServiceCall#L233). The name "collectionServiceCall" here seems suspicious: why a collection service?
Actually, it looks like every Call instance representing a call made with -> is set to "COLLECTIONCALL":
Line 49 in 728195a
| | '->' callExp #CollectionCall |
Solution
Replace #CollectionCall with #CallOrApply and adapt the code accordingly.