Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2016-11-18 09:51:44 +0000
committerEd Willink2016-11-18 13:11:41 +0000
commitb0e8b294ed45312a4778a5afa41c50d6a2c87dc5 (patch)
treecbb03e9833c785fec1d45e816dc291dff7185cd7
parentf181e9dd2fe9194ca502edd3478bb9662f7a9b84 (diff)
downloadorg.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.java6
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;
}
}

Back to the top