ModelDriven / Alf-Reference-Implementation

Open-source implementation of the Action Language for fUML (Alf) specification.
30 stars 2 forks source link

An output argument that is a data value update results in the wrong known type #98

Closed seidewitz closed 3 years ago

seidewitz commented 3 years ago
datatype D {
    i : Integer;
}
activity A (out j : Integer) { 
   j = 1;
}
activity Test() : D {
    d = new D(0);
    A(d.i);
    return d;
}

In the above return d; causes a typing error because, after the invocation A(d.i), d has been incorrectly assigned the type Integer (the type of the parameter j of A) as its "known type". This seems to happen only for data value updates.

seidewitz commented 3 years ago

Fixed in v1.1.0j.