Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsboyko2014-10-03 10:50:57 +0000
committersboyko2014-10-03 10:50:57 +0000
commit6f7213a0cc8153d45415931a79711aefa91fce86 (patch)
tree2a0d1847afb740c76d004d438777d19ded304e7d
parent0e29df0298d0cc5663dfb55f95fafec23258a93b (diff)
downloadorg.eclipse.qvto-6f7213a0cc8153d45415931a79711aefa91fce86.tar.gz
org.eclipse.qvto-6f7213a0cc8153d45415931a79711aefa91fce86.tar.xz
org.eclipse.qvto-6f7213a0cc8153d45415931a79711aefa91fce86.zip
[445198] - Inconsistent/Erroneous filter causes an
IllegalArgumentException
-rw-r--r--plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/env/QvtOperationalEvaluationEnv.java6
-rw-r--r--plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/parser/QvtOperationalVisitorCS.java3
2 files changed, 4 insertions, 5 deletions
diff --git a/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/env/QvtOperationalEvaluationEnv.java b/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/env/QvtOperationalEvaluationEnv.java
index 80670d575..145ff846e 100644
--- a/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/env/QvtOperationalEvaluationEnv.java
+++ b/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/env/QvtOperationalEvaluationEnv.java
@@ -435,11 +435,11 @@ public class QvtOperationalEvaluationEnv extends EcoreEvaluationEnvironment {
}
else if(object instanceof DynamicEObjectImpl) {
- for (EClass objParent : ((DynamicEObjectImpl) object).eClass().getEAllSuperTypes()) {
- if (objParent.getClassifierID() == classifier.getClassifierID())
+ for (EClass objType : ((EObject) object).eClass().getEAllSuperTypes()) {
+ if (objType.getEPackage() == classifier.getEPackage()
+ && objType.getClassifierID() == classifier.getClassifierID())
return true;
}
-
}
if (classifier instanceof CollectionType<?, ?> && object instanceof java.util.Collection<?>) {
diff --git a/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/parser/QvtOperationalVisitorCS.java b/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/parser/QvtOperationalVisitorCS.java
index fb111d265..846b9b695 100644
--- a/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/parser/QvtOperationalVisitorCS.java
+++ b/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/ast/parser/QvtOperationalVisitorCS.java
@@ -4064,8 +4064,7 @@ public class QvtOperationalVisitorCS
}
boolean isEntryPoint = QvtOperationalEnv.MAIN.equals(mappingDeclarationCS.getSimpleNameCS().getValue());
- boolean isMapping = ExpressionsPackage.eINSTANCE.getMappingOperation().getClassifierID() ==
- operation.eClass().getClassifierID();
+ boolean isMapping = operation instanceof MappingOperation;
boolean createMappingParams = isEntryPoint || isMapping;
List<EParameter> params = operation.getEParameters();

Back to the top