Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2016-02-04 16:21:32 +0000
committerEd Willink2016-02-04 17:25:01 +0000
commit7736506f18a525cbd33cb64843aa5372fafc38dd (patch)
tree274555b55dfe4ec36e877ca3a49e5211bcf0242c
parent4c93e3c040b766443ce7bc3497747bb928ab4f50 (diff)
downloadorg.eclipse.qvtd-7736506f18a525cbd33cb64843aa5372fafc38dd.tar.gz
org.eclipse.qvtd-7736506f18a525cbd33cb64843aa5372fafc38dd.tar.xz
org.eclipse.qvtd-7736506f18a525cbd33cb64843aa5372fafc38dd.zip
[487252] Fix domain variable resolution for null / =
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtcorebase/src/org/eclipse/qvtd/pivot/qvtcorebase/analysis/AbstractDomainUsageAnalysis.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtcorebase/src/org/eclipse/qvtd/pivot/qvtcorebase/analysis/AbstractDomainUsageAnalysis.java b/plugins/org.eclipse.qvtd.pivot.qvtcorebase/src/org/eclipse/qvtd/pivot/qvtcorebase/analysis/AbstractDomainUsageAnalysis.java
index a4b8cef84..94ccbd24a 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtcorebase/src/org/eclipse/qvtd/pivot/qvtcorebase/analysis/AbstractDomainUsageAnalysis.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtcorebase/src/org/eclipse/qvtd/pivot/qvtcorebase/analysis/AbstractDomainUsageAnalysis.java
@@ -569,8 +569,10 @@ public abstract class AbstractDomainUsageAnalysis extends AbstractExtendingQVTco
//
// Special case: left/right of "="/"<>" have same usage. Result is primitive.
//
- if ((operationId == getRootAnalysis().getOclAnyEqualsOperationId())
- || (operationId == getRootAnalysis().getOclAnyNotEqualsOperationId())) {
+// if ((operationId == getRootAnalysis().getOclAnyEqualsOperationId())
+// || (operationId == getRootAnalysis().getOclAnyNotEqualsOperationId())) {
+ if ("=".equals(object.getReferredOperation().getName()) // FIXME BUG 487252 rationalize the derived operationIds
+ || "<>".equals(object.getReferredOperation().getName())) {
DomainUsage leftUsage = visit(object.getOwnedSource());
DomainUsage rightUsage = visit(object.getOwnedArguments().get(0));
intersection(leftUsage, rightUsage);
@@ -782,7 +784,8 @@ public abstract class AbstractDomainUsageAnalysis extends AbstractExtendingQVTco
@Override
public @Nullable DomainUsage visitTypeExp(@NonNull TypeExp object) {
- return visit(object.getReferredType());
+ DomainUsage usage = visit(object.getReferredType());
+ return getRootAnalysis().getValidOrVariableUsage(usage);
}
@Override

Back to the top