diff options
author | Ed Willink | 2016-11-18 09:51:44 +0000 |
---|---|---|
committer | Ed Willink | 2016-11-18 13:11:41 +0000 |
commit | b0e8b294ed45312a4778a5afa41c50d6a2c87dc5 (patch) | |
tree | cbb03e9833c785fec1d45e816dc291dff7185cd7 | |
parent | f181e9dd2fe9194ca502edd3478bb9662f7a9b84 (diff) | |
download | org.eclipse.ocl-b0e8b294ed45312a4778a5afa41c50d6a2c87dc5.tar.gz org.eclipse.ocl-b0e8b294ed45312a4778a5afa41c50d6a2c87dc5.tar.xz org.eclipse.ocl-b0e8b294ed45312a4778a5afa41c50d6a2c87dc5.zip |
[507619] safe object navigation not isRequired
-rw-r--r-- | plugins/org.eclipse.ocl.xtext.essentialocl/src/org/eclipse/ocl/xtext/essentialocl/cs2as/EssentialOCLCSLeft2RightVisitor.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/org.eclipse.ocl.xtext.essentialocl/src/org/eclipse/ocl/xtext/essentialocl/cs2as/EssentialOCLCSLeft2RightVisitor.java b/plugins/org.eclipse.ocl.xtext.essentialocl/src/org/eclipse/ocl/xtext/essentialocl/cs2as/EssentialOCLCSLeft2RightVisitor.java index e7b7c21b7b..24b2ed96d8 100644 --- a/plugins/org.eclipse.ocl.xtext.essentialocl/src/org/eclipse/ocl/xtext/essentialocl/cs2as/EssentialOCLCSLeft2RightVisitor.java +++ b/plugins/org.eclipse.ocl.xtext.essentialocl/src/org/eclipse/ocl/xtext/essentialocl/cs2as/EssentialOCLCSLeft2RightVisitor.java @@ -1668,7 +1668,8 @@ public class EssentialOCLCSLeft2RightVisitor extends AbstractEssentialOCLCSLeft2 // Condition the source for implicit set or implicit collect // String navigationOperatorName = csOperator.getName(); - if (PivotUtil.isAggregate(actualSourceType)) { + boolean isAggregate = PivotUtil.isAggregate(actualSourceType); + if (isAggregate) { if (PivotUtil.isObjectNavigationOperator(navigationOperatorName)) { implicitCollectExp = resolveImplicitCollect(sourceExp, csOperator); if (implicitCollectExp != null) { @@ -1715,6 +1716,9 @@ public class EssentialOCLCSLeft2RightVisitor extends AbstractEssentialOCLCSLeft2 } else { ((CallExp) callExp).setIsSafe(isSafe); + if (isSafe) { + callExp.setIsRequired(isAggregate); + } navigatingExp = callExp; } } |