diff options
author | Ed Willink | 2016-02-04 16:21:32 +0000 |
---|---|---|
committer | Ed Willink | 2016-02-04 17:25:01 +0000 |
commit | 7736506f18a525cbd33cb64843aa5372fafc38dd (patch) | |
tree | 274555b55dfe4ec36e877ca3a49e5211bcf0242c | |
parent | 4c93e3c040b766443ce7bc3497747bb928ab4f50 (diff) | |
download | org.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.java | 9 |
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 |