diff options
author | sboyko | 2014-10-03 10:50:57 +0000 |
---|---|---|
committer | sboyko | 2014-10-03 10:50:57 +0000 |
commit | 6f7213a0cc8153d45415931a79711aefa91fce86 (patch) | |
tree | 2a0d1847afb740c76d004d438777d19ded304e7d | |
parent | 0e29df0298d0cc5663dfb55f95fafec23258a93b (diff) | |
download | org.eclipse.qvto-6f7213a0cc8153d45415931a79711aefa91fce86.tar.gz org.eclipse.qvto-6f7213a0cc8153d45415931a79711aefa91fce86.tar.xz org.eclipse.qvto-6f7213a0cc8153d45415931a79711aefa91fce86.zip |
[445198] - Inconsistent/Erroneous filter causes an
IllegalArgumentException
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(); |