The constraint checking methods NameLeftHandSideImpl.nameLeftHandSideTargetAssignment and FeatureLeftHandSideImpl.featureLeftHandSideFeatureExpression include additional checks (over what is called for in the Alf 1.1 specification) that, if the left-hand side is for a feature whose target type is a data type, then the LHS is a legal data value update. However, this is confusing, because the error messages are for different errors. In particular, featureLeftHandSideFeatureExpression is reported as "Target expression must have a multiplicity upper bound of 1", which doesn't make any sense if the real problem is an illegal data value update.
The constraint checking methods
NameLeftHandSideImpl.nameLeftHandSideTargetAssignment
andFeatureLeftHandSideImpl.featureLeftHandSideFeatureExpression
include additional checks (over what is called for in the Alf 1.1 specification) that, if the left-hand side is for a feature whose target type is a data type, then the LHS is a legal data value update. However, this is confusing, because the error messages are for different errors. In particular,featureLeftHandSideFeatureExpression
is reported as "Target expression must have a multiplicity upper bound of 1", which doesn't make any sense if the real problem is an illegal data value update.