-
Key: ALF_-69
-
Legacy Issue Number: 17517
-
Status: closed
-
Source: Model Driven Solutions ( Mr. Ed Seidewitz)
-
Summary:
Subject: Error in AssignmentExpression constraints
Subclause: 13.2.2 AssignmentExpression
· In Subclause 13.2.1 AssignmentExpression, the constraint assignmentExpressionSimpleAssignmentTypeConformance should require the type of the right-hand side to conform to the type of the left-hand side, not the other way around.
· The type and multiplicity bounds of a compound AssignmentExpression should be those of the left-hand side, not the right-hand side.
-
Reported: ALF 1.0b2 — Thu, 19 Jul 2012 04:00 GMT
-
Disposition: Resolved — ALF 1.0
-
Disposition Summary:
Agreed on the first bullet (except that the reference to 13.2.1 should be to 13.2.2).
On the second bullet, the problem is that the current assignmentExpressionCompoundTypeConformance constraint requires that the left-hand side and the right-hand side have the same type. This works for arithmetic or Boolean operations, but it does not necessarily work for bit string operations (which may have an Integer right-hand side) or shift operations (which require and Integer right-hand side). In all cases, however, the type of the compound assignment will be the type of the left-hand side.
The multiplicity upper bound for a compound assignment is required to always be 1. However, the multiplicity lower bound may be either 0 or 1, as determined by the multiplicity lower bound of the left-hand side. -
Updated: Fri, 6 Mar 2015 21:49 GMT