diff options
author | Ed Willink | 2018-04-22 07:39:46 +0000 |
---|---|---|
committer | Ed Willink | 2018-04-22 09:38:41 +0000 |
commit | e2592f759b184c9e081d39942e9a0eec5f77e987 (patch) | |
tree | c6725c1ed08407a5351944ec0d74d1e6fb12deef | |
parent | 8dbee5849b9f54fba93475f9fc29963b3e110bab (diff) | |
download | org.eclipse.qvtd-ewillink/517524.tar.gz org.eclipse.qvtd-ewillink/517524.tar.xz org.eclipse.qvtd-ewillink/517524.zip |
[529130] Avoid Ambiguous TypedModel for OCLElement-typed trace variablesewillink/517524
26 files changed, 1699 insertions, 1563 deletions
diff --git a/plugins/org.eclipse.qvtd.atl/model/ATL2QVTr.qvtr b/plugins/org.eclipse.qvtd.atl/model/ATL2QVTr.qvtr index d05a86cee..51a90438a 100644 --- a/plugins/org.eclipse.qvtd.atl/model/ATL2QVTr.qvtr +++ b/plugins/org.eclipse.qvtd.atl/model/ATL2QVTr.qvtr @@ -19,6 +19,7 @@ import pivotMM : 'platform:/resource/org.eclipse.ocl.pivot/model/Pivot.ecore'::p import qvtbMM : 'platform:/resource/org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore'::qvtbase; import qvttMM : 'platform:/resource/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore'::qvttemplate; import qvtrMM : 'platform:/resource/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore'::qvtrelation; +import qvttraceMM : 'platform:/resource/org.eclipse.qvtd.runtime/model/QVTtrace.ecore'::qvttrace; package org::eclipse::qvtd::atl::atl2qvtr { /** @@ -30,10 +31,9 @@ package org::eclipse::qvtd::atl::atl2qvtr { -- query getContextVariable(_transformation : qvtrMM::RelationalTransformation) : pivotMM::VariableDeclaration[1] implementedby 'org.eclipse.qvtd.atl.atl2qvtr.Helper4getContextVariable'; --- query getHelper(element : atlMM::LocatedElement) : atlMM::Helper[1] { --- element->closure(e : ocl::OclElement | e.oclContainer())->selectByKind(atlMM::Helper)->any(true) --- } - query getHelper(element : atlMM::LocatedElement) : atlMM::Helper[?] implementedby 'org.eclipse.qvtd.atl.atl2qvtr.utilities.Helper4getHelper'; + query getHelper(element : atlMM::LocatedElement[1]) : atlMM::Helper[1] { + element->closure(e : ocl::OclElement | e.oclContainer())->selectByKind(atlMM::Helper)->any(true) + } query getModule(element : atlMM::LocatedElement) : atlMM::Module[1] implementedby 'org.eclipse.qvtd.atl.atl2qvtr.utilities.Helper4getModule'; @@ -59,10 +59,6 @@ package org::eclipse::qvtd::atl::atl2qvtr { query getVariable(type : atloclMM::VariableDeclaration[1]) : pivotMM::Variable[1] implementedby 'org.eclipse.qvtd.atl.atl2qvtr.utilities.Helper4getVariable'; - query getHelper(element : atlMM::LocatedElement) : atlMM::Helper[1] { - element->closure(e : ocl::OclElement | e.oclContainer())->selectByKind(atlMM::Helper)->any(true) - } - /** * atl::Binding <=> qvtr::PropertyTemplateItem */ @@ -263,7 +259,7 @@ package org::eclipse::qvtd::atl::atl2qvtr { variable = :SharedVariable { name = 'trace', isImplicit = true, - type = pivotMM::OclElement + type = qvttraceMM::TraceElement } }; when { diff --git a/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/TmapVariableExp_referredVariable_Helper.java b/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/TmapVariableExp_referredVariable_Helper.java index 248ad890b..4cfbf8afc 100644 --- a/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/TmapVariableExp_referredVariable_Helper.java +++ b/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/TmapVariableExp_referredVariable_Helper.java @@ -4,14 +4,12 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * E.D.Willink - Initial API and implementation */ package org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr; -import org.eclipse.m2m.atl.common.ATL.Helper; - import org.eclipse.m2m.atl.common.OCL.VariableDeclaration; /** @@ -24,7 +22,6 @@ import org.eclipse.m2m.atl.common.OCL.VariableDeclaration; * </p> * <ul> * <li>{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.TmapVariableExp_referredVariable_Helper#getDispatcher <em>Dispatcher</em>}</li> - * <li>{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.TmapVariableExp_referredVariable_Helper#getT1atlHelper <em>T1atl Helper</em>}</li> * <li>{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.TmapVariableExp_referredVariable_Helper#getT1atlVariable <em>T1atl Variable</em>}</li> * <li>{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.TmapVariableExp_referredVariable_Helper#getT2qvtrVariable <em>T2qvtr Variable</em>}</li> * </ul> @@ -63,33 +60,6 @@ public interface TmapVariableExp_referredVariable_Helper extends ImapVariableExp void setDispatcher(DmapVariableExp_referredVariable value); /** - * Returns the value of the '<em><b>T1atl Helper</b></em>' reference. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>T1atl Helper</em>' reference isn't clear, - * there really should be more of a description here... - * </p> - * <!-- end-user-doc --> - * @return the value of the '<em>T1atl Helper</em>' reference. - * @see #setT1atlHelper(Helper) - * @see org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.trace_ATL2QVTrPackage#getTmapVariableExp_referredVariable_Helper_T1atlHelper() - * @model required="true" - * annotation="http://www.eclipse.org/qvt#Domains referredDomain='atl'" - * @generated - */ - Helper getT1atlHelper(); - - /** - * Sets the value of the '{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.TmapVariableExp_referredVariable_Helper#getT1atlHelper <em>T1atl Helper</em>}' reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>T1atl Helper</em>' reference. - * @see #getT1atlHelper() - * @generated - */ - void setT1atlHelper(Helper value); - - /** * Returns the value of the '<em><b>T1atl Variable</b></em>' reference. * <!-- begin-user-doc --> * <p> diff --git a/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/TmapVariableExp_referredVariable_HelperImpl.java b/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/TmapVariableExp_referredVariable_HelperImpl.java index 5f8502f4e..ec490185f 100644 --- a/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/TmapVariableExp_referredVariable_HelperImpl.java +++ b/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/TmapVariableExp_referredVariable_HelperImpl.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * E.D.Willink - Initial API and implementation */ @@ -20,8 +20,6 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.m2m.atl.common.ATL.Helper; - import org.eclipse.m2m.atl.common.OCL.VariableDeclaration; import org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.DmapVariableExp_referredVariable; @@ -37,7 +35,6 @@ import org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.trace_ATL2QVTrPackage; * </p> * <ul> * <li>{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.impl.TmapVariableExp_referredVariable_HelperImpl#getDispatcher <em>Dispatcher</em>}</li> - * <li>{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.impl.TmapVariableExp_referredVariable_HelperImpl#getT1atlHelper <em>T1atl Helper</em>}</li> * <li>{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.impl.TmapVariableExp_referredVariable_HelperImpl#getT1atlVariable <em>T1atl Variable</em>}</li> * <li>{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.impl.TmapVariableExp_referredVariable_HelperImpl#getT2qvtrVariable <em>T2qvtr Variable</em>}</li> * </ul> @@ -46,16 +43,6 @@ import org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.trace_ATL2QVTrPackage; */ public class TmapVariableExp_referredVariable_HelperImpl extends ImapVariableExp_referredVariableImpl implements TmapVariableExp_referredVariable_Helper { /** - * The cached value of the '{@link #getT1atlHelper() <em>T1atl Helper</em>}' reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getT1atlHelper() - * @generated - * @ordered - */ - protected Helper t1atlHelper; - - /** * The cached value of the '{@link #getT1atlVariable() <em>T1atl Variable</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -143,49 +130,9 @@ public class TmapVariableExp_referredVariable_HelperImpl extends ImapVariableExp * @generated */ @Override - public Helper getT1atlHelper() { - if (t1atlHelper != null && t1atlHelper.eIsProxy()) { - InternalEObject oldT1atlHelper = (InternalEObject)t1atlHelper; - t1atlHelper = (Helper)eResolveProxy(oldT1atlHelper); - if (t1atlHelper != oldT1atlHelper) { - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.RESOLVE, trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_HELPER, oldT1atlHelper, t1atlHelper)); - } - } - return t1atlHelper; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public Helper basicGetT1atlHelper() { - return t1atlHelper; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void setT1atlHelper(Helper newT1atlHelper) { - Helper oldT1atlHelper = t1atlHelper; - t1atlHelper = newT1atlHelper; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_HELPER, oldT1atlHelper, t1atlHelper)); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override public VariableDeclaration getT1atlVariable() { if (t1atlVariable != null && t1atlVariable.eIsProxy()) { - InternalEObject oldT1atlVariable = (InternalEObject)t1atlVariable; + InternalEObject oldT1atlVariable = t1atlVariable; t1atlVariable = (VariableDeclaration)eResolveProxy(oldT1atlVariable); if (t1atlVariable != oldT1atlVariable) { if (eNotificationRequired()) @@ -311,9 +258,6 @@ public class TmapVariableExp_referredVariable_HelperImpl extends ImapVariableExp switch (featureID) { case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__DISPATCHER: return getDispatcher(); - case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_HELPER: - if (resolve) return getT1atlHelper(); - return basicGetT1atlHelper(); case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_VARIABLE: if (resolve) return getT1atlVariable(); return basicGetT1atlVariable(); @@ -335,9 +279,6 @@ public class TmapVariableExp_referredVariable_HelperImpl extends ImapVariableExp case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__DISPATCHER: setDispatcher((DmapVariableExp_referredVariable)newValue); return; - case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_HELPER: - setT1atlHelper((Helper)newValue); - return; case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_VARIABLE: setT1atlVariable((VariableDeclaration)newValue); return; @@ -359,9 +300,6 @@ public class TmapVariableExp_referredVariable_HelperImpl extends ImapVariableExp case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__DISPATCHER: setDispatcher((DmapVariableExp_referredVariable)null); return; - case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_HELPER: - setT1atlHelper((Helper)null); - return; case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_VARIABLE: setT1atlVariable((VariableDeclaration)null); return; @@ -382,8 +320,6 @@ public class TmapVariableExp_referredVariable_HelperImpl extends ImapVariableExp switch (featureID) { case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__DISPATCHER: return getDispatcher() != null; - case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_HELPER: - return t1atlHelper != null; case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_VARIABLE: return t1atlVariable != null; case trace_ATL2QVTrPackage.TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T2QVTR_VARIABLE: diff --git a/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/trace_ATL2QVTrPackageImpl.java b/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/trace_ATL2QVTrPackageImpl.java index 2407ed9ad..bdb15506a 100644 --- a/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/trace_ATL2QVTrPackageImpl.java +++ b/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/trace_ATL2QVTrPackageImpl.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * E.D.Willink - Initial API and implementation */ @@ -3036,18 +3036,8 @@ public class trace_ATL2QVTrPackageImpl extends EPackageImpl implements trace_ATL * @generated */ @Override - public EReference getTmapVariableExp_referredVariable_Helper_T1atlHelper() { - return (EReference)tmapVariableExp_referredVariable_HelperEClass.getEStructuralFeatures().get(1); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override public EReference getTmapVariableExp_referredVariable_Helper_T1atlVariable() { - return (EReference)tmapVariableExp_referredVariable_HelperEClass.getEStructuralFeatures().get(2); + return (EReference)tmapVariableExp_referredVariable_HelperEClass.getEStructuralFeatures().get(1); } /** @@ -3057,7 +3047,7 @@ public class trace_ATL2QVTrPackageImpl extends EPackageImpl implements trace_ATL */ @Override public EReference getTmapVariableExp_referredVariable_Helper_T2qvtrVariable() { - return (EReference)tmapVariableExp_referredVariable_HelperEClass.getEStructuralFeatures().get(3); + return (EReference)tmapVariableExp_referredVariable_HelperEClass.getEStructuralFeatures().get(2); } /** @@ -3426,7 +3416,6 @@ public class trace_ATL2QVTrPackageImpl extends EPackageImpl implements trace_ATL tmapVariableExp_referredVariable_HelperEClass = createEClass(TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER); createEReference(tmapVariableExp_referredVariable_HelperEClass, TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__DISPATCHER); - createEReference(tmapVariableExp_referredVariable_HelperEClass, TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_HELPER); createEReference(tmapVariableExp_referredVariable_HelperEClass, TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_VARIABLE); createEReference(tmapVariableExp_referredVariable_HelperEClass, TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T2QVTR_VARIABLE); @@ -3809,7 +3798,6 @@ public class trace_ATL2QVTrPackageImpl extends EPackageImpl implements trace_ATL initEClass(tmapVariableExp_referredVariable_HelperEClass, TmapVariableExp_referredVariable_Helper.class, "TmapVariableExp_referredVariable_Helper", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTmapVariableExp_referredVariable_Helper_Dispatcher(), this.getDmapVariableExp_referredVariable(), this.getDmapVariableExp_referredVariable_DomapVariableExp_referredVariable_Helper(), "dispatcher", null, 1, 1, TmapVariableExp_referredVariable_Helper.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getTmapVariableExp_referredVariable_Helper_T1atlHelper(), theATLPackage.getHelper(), null, "t1atlHelper", null, 1, 1, TmapVariableExp_referredVariable_Helper.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getTmapVariableExp_referredVariable_Helper_T1atlVariable(), theOCLPackage.getVariableDeclaration(), null, "t1atlVariable", null, 1, 1, TmapVariableExp_referredVariable_Helper.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getTmapVariableExp_referredVariable_Helper_T2qvtrVariable(), thePivotPackage.getVariableDeclaration(), null, "t2qvtrVariable", null, 1, 1, TmapVariableExp_referredVariable_Helper.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -3837,221 +3825,221 @@ public class trace_ATL2QVTrPackageImpl extends EPackageImpl implements trace_ATL protected void createEmofAnnotations() { String source = "http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"; addAnnotation - (getDmapHelper_D1atlHelper(), - source, - new String[] { - "body", "DmapHelper" - }); - addAnnotation - (getDmapHelper_D2qvtrFunction(), - source, - new String[] { - "body", "DmapHelper" - }); - addAnnotation - (getDmapOclExpression_D1atlExpression(), - source, - new String[] { - "body", "DmapOclExpression" - }); - addAnnotation - (getDmapOclExpression_D2qvtrExpression(), - source, - new String[] { - "body", "DmapOclExpression" - }); - addAnnotation - (getDmapVariableExp_referredVariable_D1atlExpression(), - source, - new String[] { - "body", "DmapVariableExp_referredVariable" - }); - addAnnotation - (getDmapVariableExp_referredVariable_D2qvtrExpression(), - source, - new String[] { - "body", "DmapVariableExp_referredVariable" - }); - addAnnotation - (getTmapBinding_T1atlBinding(), - source, - new String[] { - "body", "TmapBinding" - }); - addAnnotation - (getTmapBinding_T2qvtrPart(), - source, - new String[] { - "body", "TmapBinding" - }); - addAnnotation - (getTmapHelper_Context_T1atlHelper(), - source, - new String[] { - "body", "TmapHelper_Context" - }); - addAnnotation - (getTmapHelper_Context_T2qvtrFunction(), - source, - new String[] { - "body", "TmapHelper_Context" - }); - addAnnotation - (getTmapInPattern_T1atlPattern(), - source, - new String[] { - "body", "TmapInPattern" - }); - addAnnotation - (getTmapInPattern_T2qvtrDomain(), - source, - new String[] { - "body", "TmapInPattern" - }); - addAnnotation - (getTmapInPattern_filter_T1atlPattern(), - source, - new String[] { - "body", "TmapInPattern_filter" - }); - addAnnotation - (getTmapInPattern_filter_T2qvtrDomain(), - source, - new String[] { - "body", "TmapInPattern_filter" - }); - addAnnotation - (getTmapMatchedRule_T1matchedRule(), - source, - new String[] { - "body", "TmapMatchedRule" - }); - addAnnotation - (getTmapMatchedRule_T2qvtrRelation(), - source, - new String[] { - "body", "TmapMatchedRule" - }); - addAnnotation - (getTmapMatchedRule_super_T1atlChildRule(), - source, - new String[] { - "body", "TmapMatchedRule_super" - }); - addAnnotation - (getTmapMatchedRule_super_T2qvtrOverridesRelation(), - source, - new String[] { - "body", "TmapMatchedRule_super" - }); - addAnnotation - (getTmapModule_T1atlModule(), - source, - new String[] { - "body", "TmapModule" - }); - addAnnotation - (getTmapModule_T2qvtrTransformation(), - source, - new String[] { - "body", "TmapModule" - }); - addAnnotation - (getTmapOclMetamodel_T1oclMetamodel(), - source, - new String[] { - "body", "TmapOclMetamodel" - }); - addAnnotation - (getTmapOclMetamodel_T2qvtrTypedModel(), - source, - new String[] { - "body", "TmapOclMetamodel" - }); - addAnnotation - (getTmapOclModel_IN_T1oclModel(), - source, - new String[] { - "body", "TmapOclModel_IN" - }); - addAnnotation - (getTmapOclModel_IN_T2qvtrTypedModel(), - source, - new String[] { - "body", "TmapOclModel_IN" - }); - addAnnotation - (getTmapOclModel_OUT_T1oclModel(), - source, - new String[] { - "body", "TmapOclModel_OUT" - }); - addAnnotation - (getTmapOclModel_OUT_T2qvtrTypedModel(), - source, - new String[] { - "body", "TmapOclModel_OUT" - }); - addAnnotation - (getTmapOperationCallExp_argument_T1atlArgument(), - source, - new String[] { - "body", "TmapOperationCallExp_argument" - }); - addAnnotation - (getTmapOperationCallExp_argument_T2qvtrArgument(), - source, - new String[] { - "body", "TmapOperationCallExp_argument" - }); - addAnnotation - (getTmapOutPattern_T1atlPattern(), - source, - new String[] { - "body", "TmapOutPattern" - }); - addAnnotation - (getTmapOutPattern_T2qvtrDomain(), - source, - new String[] { - "body", "TmapOutPattern" - }); - addAnnotation - (getTmapSimpleInPatternElement_T1atlElement(), - source, - new String[] { - "body", "TmapSimpleInPatternElement" - }); - addAnnotation - (getTmapSimpleInPatternElement_T2qvtrTemplate(), - source, - new String[] { - "body", "TmapSimpleInPatternElement" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T1atlElement(), - source, - new String[] { - "body", "TmapSimpleOutPatternElement" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T2qvtrTemplate(), - source, - new String[] { - "body", "TmapSimpleOutPatternElement" - }); - addAnnotation - (getTmapVariable_T1atlVariable(), - source, - new String[] { - "body", "TmapVariable" - }); - addAnnotation - (getTmapVariable_T2qvtrVariable(), - source, - new String[] { - "body", "TmapVariable" - }); + (getDmapHelper_D1atlHelper(), + source, + new String[] { + "body", "DmapHelper" + }); + addAnnotation + (getDmapHelper_D2qvtrFunction(), + source, + new String[] { + "body", "DmapHelper" + }); + addAnnotation + (getDmapOclExpression_D1atlExpression(), + source, + new String[] { + "body", "DmapOclExpression" + }); + addAnnotation + (getDmapOclExpression_D2qvtrExpression(), + source, + new String[] { + "body", "DmapOclExpression" + }); + addAnnotation + (getDmapVariableExp_referredVariable_D1atlExpression(), + source, + new String[] { + "body", "DmapVariableExp_referredVariable" + }); + addAnnotation + (getDmapVariableExp_referredVariable_D2qvtrExpression(), + source, + new String[] { + "body", "DmapVariableExp_referredVariable" + }); + addAnnotation + (getTmapBinding_T1atlBinding(), + source, + new String[] { + "body", "TmapBinding" + }); + addAnnotation + (getTmapBinding_T2qvtrPart(), + source, + new String[] { + "body", "TmapBinding" + }); + addAnnotation + (getTmapHelper_Context_T1atlHelper(), + source, + new String[] { + "body", "TmapHelper_Context" + }); + addAnnotation + (getTmapHelper_Context_T2qvtrFunction(), + source, + new String[] { + "body", "TmapHelper_Context" + }); + addAnnotation + (getTmapInPattern_T1atlPattern(), + source, + new String[] { + "body", "TmapInPattern" + }); + addAnnotation + (getTmapInPattern_T2qvtrDomain(), + source, + new String[] { + "body", "TmapInPattern" + }); + addAnnotation + (getTmapInPattern_filter_T1atlPattern(), + source, + new String[] { + "body", "TmapInPattern_filter" + }); + addAnnotation + (getTmapInPattern_filter_T2qvtrDomain(), + source, + new String[] { + "body", "TmapInPattern_filter" + }); + addAnnotation + (getTmapMatchedRule_T1matchedRule(), + source, + new String[] { + "body", "TmapMatchedRule" + }); + addAnnotation + (getTmapMatchedRule_T2qvtrRelation(), + source, + new String[] { + "body", "TmapMatchedRule" + }); + addAnnotation + (getTmapMatchedRule_super_T1atlChildRule(), + source, + new String[] { + "body", "TmapMatchedRule_super" + }); + addAnnotation + (getTmapMatchedRule_super_T2qvtrOverridesRelation(), + source, + new String[] { + "body", "TmapMatchedRule_super" + }); + addAnnotation + (getTmapModule_T1atlModule(), + source, + new String[] { + "body", "TmapModule" + }); + addAnnotation + (getTmapModule_T2qvtrTransformation(), + source, + new String[] { + "body", "TmapModule" + }); + addAnnotation + (getTmapOclMetamodel_T1oclMetamodel(), + source, + new String[] { + "body", "TmapOclMetamodel" + }); + addAnnotation + (getTmapOclMetamodel_T2qvtrTypedModel(), + source, + new String[] { + "body", "TmapOclMetamodel" + }); + addAnnotation + (getTmapOclModel_IN_T1oclModel(), + source, + new String[] { + "body", "TmapOclModel_IN" + }); + addAnnotation + (getTmapOclModel_IN_T2qvtrTypedModel(), + source, + new String[] { + "body", "TmapOclModel_IN" + }); + addAnnotation + (getTmapOclModel_OUT_T1oclModel(), + source, + new String[] { + "body", "TmapOclModel_OUT" + }); + addAnnotation + (getTmapOclModel_OUT_T2qvtrTypedModel(), + source, + new String[] { + "body", "TmapOclModel_OUT" + }); + addAnnotation + (getTmapOperationCallExp_argument_T1atlArgument(), + source, + new String[] { + "body", "TmapOperationCallExp_argument" + }); + addAnnotation + (getTmapOperationCallExp_argument_T2qvtrArgument(), + source, + new String[] { + "body", "TmapOperationCallExp_argument" + }); + addAnnotation + (getTmapOutPattern_T1atlPattern(), + source, + new String[] { + "body", "TmapOutPattern" + }); + addAnnotation + (getTmapOutPattern_T2qvtrDomain(), + source, + new String[] { + "body", "TmapOutPattern" + }); + addAnnotation + (getTmapSimpleInPatternElement_T1atlElement(), + source, + new String[] { + "body", "TmapSimpleInPatternElement" + }); + addAnnotation + (getTmapSimpleInPatternElement_T2qvtrTemplate(), + source, + new String[] { + "body", "TmapSimpleInPatternElement" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T1atlElement(), + source, + new String[] { + "body", "TmapSimpleOutPatternElement" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T2qvtrTemplate(), + source, + new String[] { + "body", "TmapSimpleOutPatternElement" + }); + addAnnotation + (getTmapVariable_T1atlVariable(), + source, + new String[] { + "body", "TmapVariable" + }); + addAnnotation + (getTmapVariable_T2qvtrVariable(), + source, + new String[] { + "body", "TmapVariable" + }); } /** @@ -4063,977 +4051,971 @@ public class trace_ATL2QVTrPackageImpl extends EPackageImpl implements trace_ATL protected void createQvtDomainsAnnotations() { String source = "http://www.eclipse.org/qvt#Domains"; addAnnotation - (getDmapHelper_D1atlHelper(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getDmapHelper_D2qvtrFunction(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getDmapHelper_DomapHelper_Attribute(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapHelper_DomapHelper_Operation(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_D1atlExpression(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getDmapOclExpression_D2qvtrExpression(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getDmapOclExpression_DomapBooleanExp(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_DomapIfExp(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_DomapIntegerExp(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_DomapNavigationOrAttributeCallExp_Helper(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_DomapNavigationOrAttributeCallExp_Property(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_DomapOperationCallExp_Helper(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_DomapOperationCallExp_Operation(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_DomapOperatorCallExp(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_DomapStringExp(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapOclExpression_DomapVariableExp(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapVariableExp_referredVariable_D1atlExpression(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getDmapVariableExp_referredVariable_D2qvtrExpression(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getDmapVariableExp_referredVariable_DomapVariableExp_referredVariable_Helper(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getDmapVariableExp_referredVariable_DomapVariableExp_referredVariable_VariableDeclaration(), - source, - new String[] { - "referredDomain", "middle" - }); - addAnnotation - (getTmapBinding_T0propertyName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapBinding_T1atlBinding(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapBinding_T1atlExpression(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapBinding_T1atlOutPatternElement(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapBinding_T2qvtrExpression(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapBinding_T2qvtrPart(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapBinding_T2qvtrTemplate(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapBooleanExp_T0symbol(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapHelper_Attribute_T0attributeName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapHelper_Attribute_T1atlDefinition(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Attribute_T1atlExpression(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Attribute_T1atlFeature(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Attribute_T1atlModule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Attribute_T1atlType(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Attribute_T2qvtrExpression(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapHelper_Attribute_T2qvtrTransformation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapHelper_Context_T1atlContext(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Context_T1atlDefinition(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Context_T1atlHelper(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Context_T1atlReturnType(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Context_T2qvtrFunction(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapHelper_Context_T2qvtrParameter(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapHelper_Operation_T0operationName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapHelper_Operation_T1atlDefinition(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Operation_T1atlExpression(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Operation_T1atlFeature(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Operation_T1atlModule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Operation_T1atlType(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapHelper_Operation_T2qvtrExpression(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapHelper_Operation_T2qvtrTransformation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapIfExp_T1atlCondition(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapIfExp_T1atlElse(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapIfExp_T1atlThen(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapIfExp_T2qvtrCondition(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapIfExp_T2qvtrElse(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapIfExp_T2qvtrThen(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapInPattern_T1atlModel(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapInPattern_T1atlPattern(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapInPattern_T1atlRule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapInPattern_T2qvtrDomain(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapInPattern_T2qvtrRelation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapInPattern_T2qvtrTypedModel(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapInPattern_filter_T1atlExpression(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapInPattern_filter_T1atlPattern(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapInPattern_filter_T1atlRule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapInPattern_filter_T2p(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapInPattern_filter_T2qvtrDomain(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapInPattern_filter_T2qvtrExpression(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapInPattern_filter_T2qvtrRelation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapInPattern_filter_T2w(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapIntegerExp_T0symbol(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapMatchedRule_T0ruleName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapMatchedRule_T1atlModule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapMatchedRule_T1matchedRule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapMatchedRule_T2_1(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapMatchedRule_T2qvtrRelation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapMatchedRule_T2qvtrTransformation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapMatchedRule_super_T1atlChildRule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapMatchedRule_super_T1atlSuperRule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapMatchedRule_super_T2qvtrOverriddenRelation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapMatchedRule_super_T2qvtrOverridesRelation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapModule_T0txName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapModule_T1atlModule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapModule_T2_1(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapModule_T2_2(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapModule_T2_3(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapModule_T2_4(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapModule_T2qvtrTransformation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapNavigationOrAttributeCallExp_Helper_T0propertyName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapNavigationOrAttributeCallExp_Helper_T1atlSource(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapNavigationOrAttributeCallExp_Helper_T2qvtrOperation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapNavigationOrAttributeCallExp_Helper_T2qvtrSource(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapNavigationOrAttributeCallExp_Helper_T2qvtrSourceArgument(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapNavigationOrAttributeCallExp_Helper_T2qvtrTransformation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapNavigationOrAttributeCallExp_Property_T0propertyName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapNavigationOrAttributeCallExp_Property_T1atlSource(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapNavigationOrAttributeCallExp_Property_T2qvtrSource(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOclMetamodel_T0tmName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapOclMetamodel_T1oclMetamodel(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOclMetamodel_T2qvtrTypedModel(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOclModel_IN_T0tmName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapOclModel_IN_T1atlModule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOclModel_IN_T1oclMetamodel(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOclModel_IN_T1oclModel(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOclModel_IN_T2qvtrTransformation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOclModel_IN_T2qvtrTypedModel(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOclModel_OUT_T0tmName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapOclModel_OUT_T1atlModule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOclModel_OUT_T1oclMetamodel(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOclModel_OUT_T1oclModel(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOclModel_OUT_T2qvtrTransformation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOclModel_OUT_T2qvtrTypedModel(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOperationCallExp_Helper_T0operationName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapOperationCallExp_Helper_T1atlSource(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOperationCallExp_Helper_T2qvtrOperation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOperationCallExp_Helper_T2qvtrSource(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOperationCallExp_Helper_T2qvtrSourceArgument(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOperationCallExp_Helper_T2qvtrTransformation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOperationCallExp_Operation_T0operationName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapOperationCallExp_Operation_T1atlSource(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOperationCallExp_Operation_T2qvtrSource(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOperationCallExp_argument_T1atlArgument(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOperationCallExp_argument_T1atlParent(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOperationCallExp_argument_T2qvtrArgument(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOperationCallExp_argument_T2qvtrParent(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOperatorCallExp_T0operationName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapOperatorCallExp_T1atlSource(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOperatorCallExp_T2qvtrSource(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOperatorCallExp_T2qvtrTransformation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOutPattern_T1atlPattern(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOutPattern_T1atlRule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapOutPattern_T2qvtrDomain(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOutPattern_T2qvtrRelation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapOutPattern_T2qvtrTypedModel(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleInPatternElement_T0elementName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapSimpleInPatternElement_T1atlElement(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapSimpleInPatternElement_T1atlPattern(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapSimpleInPatternElement_T1atlRule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapSimpleInPatternElement_T2qvtrDomain(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleInPatternElement_T2qvtrPattern(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleInPatternElement_T2qvtrRelation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleInPatternElement_T2qvtrTemplate(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleInPatternElement_T2qvtrVariable(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T0elementName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T1atlElement(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T1atlPattern(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T1atlRule(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T2qvtrDomain(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T2qvtrPattern(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T2qvtrRelation(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T2qvtrTemplate(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapSimpleOutPatternElement_T2qvtrVariable(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapStringExp_T0symbol(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapVariable_T1atlVariable(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapVariable_T2qvtrVariable(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapVariableExp_T0varName(), - source, - new String[] { - "referredDomain", "$primitive$" - }); - addAnnotation - (getTmapVariableExp_T1atlVariable(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapVariableExp_referredVariable_Helper_T1atlHelper(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapVariableExp_referredVariable_Helper_T1atlVariable(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapVariableExp_referredVariable_Helper_T2qvtrVariable(), - source, - new String[] { - "referredDomain", "qvtr" - }); - addAnnotation - (getTmapVariableExp_referredVariable_VariableDeclaration_T1atlVariable(), - source, - new String[] { - "referredDomain", "atl" - }); - addAnnotation - (getTmapVariableExp_referredVariable_VariableDeclaration_T2qvtrVariable(), - source, - new String[] { - "referredDomain", "qvtr" - }); + (getDmapHelper_D1atlHelper(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getDmapHelper_D2qvtrFunction(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getDmapHelper_DomapHelper_Attribute(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapHelper_DomapHelper_Operation(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_D1atlExpression(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getDmapOclExpression_D2qvtrExpression(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getDmapOclExpression_DomapBooleanExp(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_DomapIfExp(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_DomapIntegerExp(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_DomapNavigationOrAttributeCallExp_Helper(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_DomapNavigationOrAttributeCallExp_Property(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_DomapOperationCallExp_Helper(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_DomapOperationCallExp_Operation(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_DomapOperatorCallExp(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_DomapStringExp(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapOclExpression_DomapVariableExp(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapVariableExp_referredVariable_D1atlExpression(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getDmapVariableExp_referredVariable_D2qvtrExpression(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getDmapVariableExp_referredVariable_DomapVariableExp_referredVariable_Helper(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getDmapVariableExp_referredVariable_DomapVariableExp_referredVariable_VariableDeclaration(), + source, + new String[] { + "referredDomain", "middle" + }); + addAnnotation + (getTmapBinding_T0propertyName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapBinding_T1atlBinding(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapBinding_T1atlExpression(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapBinding_T1atlOutPatternElement(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapBinding_T2qvtrExpression(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapBinding_T2qvtrPart(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapBinding_T2qvtrTemplate(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapBooleanExp_T0symbol(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapHelper_Attribute_T0attributeName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapHelper_Attribute_T1atlDefinition(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Attribute_T1atlExpression(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Attribute_T1atlFeature(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Attribute_T1atlModule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Attribute_T1atlType(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Attribute_T2qvtrExpression(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapHelper_Attribute_T2qvtrTransformation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapHelper_Context_T1atlContext(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Context_T1atlDefinition(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Context_T1atlHelper(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Context_T1atlReturnType(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Context_T2qvtrFunction(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapHelper_Context_T2qvtrParameter(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapHelper_Operation_T0operationName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapHelper_Operation_T1atlDefinition(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Operation_T1atlExpression(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Operation_T1atlFeature(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Operation_T1atlModule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Operation_T1atlType(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapHelper_Operation_T2qvtrExpression(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapHelper_Operation_T2qvtrTransformation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapIfExp_T1atlCondition(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapIfExp_T1atlElse(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapIfExp_T1atlThen(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapIfExp_T2qvtrCondition(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapIfExp_T2qvtrElse(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapIfExp_T2qvtrThen(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapInPattern_T1atlModel(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapInPattern_T1atlPattern(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapInPattern_T1atlRule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapInPattern_T2qvtrDomain(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapInPattern_T2qvtrRelation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapInPattern_T2qvtrTypedModel(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapInPattern_filter_T1atlExpression(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapInPattern_filter_T1atlPattern(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapInPattern_filter_T1atlRule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapInPattern_filter_T2p(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapInPattern_filter_T2qvtrDomain(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapInPattern_filter_T2qvtrExpression(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapInPattern_filter_T2qvtrRelation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapInPattern_filter_T2w(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapIntegerExp_T0symbol(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapMatchedRule_T0ruleName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapMatchedRule_T1atlModule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapMatchedRule_T1matchedRule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapMatchedRule_T2_1(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapMatchedRule_T2qvtrRelation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapMatchedRule_T2qvtrTransformation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapMatchedRule_super_T1atlChildRule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapMatchedRule_super_T1atlSuperRule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapMatchedRule_super_T2qvtrOverriddenRelation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapMatchedRule_super_T2qvtrOverridesRelation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapModule_T0txName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapModule_T1atlModule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapModule_T2_1(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapModule_T2_2(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapModule_T2_3(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapModule_T2_4(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapModule_T2qvtrTransformation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapNavigationOrAttributeCallExp_Helper_T0propertyName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapNavigationOrAttributeCallExp_Helper_T1atlSource(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapNavigationOrAttributeCallExp_Helper_T2qvtrOperation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapNavigationOrAttributeCallExp_Helper_T2qvtrSource(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapNavigationOrAttributeCallExp_Helper_T2qvtrSourceArgument(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapNavigationOrAttributeCallExp_Helper_T2qvtrTransformation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapNavigationOrAttributeCallExp_Property_T0propertyName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapNavigationOrAttributeCallExp_Property_T1atlSource(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapNavigationOrAttributeCallExp_Property_T2qvtrSource(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOclMetamodel_T0tmName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapOclMetamodel_T1oclMetamodel(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOclMetamodel_T2qvtrTypedModel(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOclModel_IN_T0tmName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapOclModel_IN_T1atlModule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOclModel_IN_T1oclMetamodel(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOclModel_IN_T1oclModel(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOclModel_IN_T2qvtrTransformation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOclModel_IN_T2qvtrTypedModel(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOclModel_OUT_T0tmName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapOclModel_OUT_T1atlModule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOclModel_OUT_T1oclMetamodel(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOclModel_OUT_T1oclModel(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOclModel_OUT_T2qvtrTransformation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOclModel_OUT_T2qvtrTypedModel(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOperationCallExp_Helper_T0operationName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapOperationCallExp_Helper_T1atlSource(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOperationCallExp_Helper_T2qvtrOperation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOperationCallExp_Helper_T2qvtrSource(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOperationCallExp_Helper_T2qvtrSourceArgument(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOperationCallExp_Helper_T2qvtrTransformation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOperationCallExp_Operation_T0operationName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapOperationCallExp_Operation_T1atlSource(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOperationCallExp_Operation_T2qvtrSource(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOperationCallExp_argument_T1atlArgument(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOperationCallExp_argument_T1atlParent(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOperationCallExp_argument_T2qvtrArgument(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOperationCallExp_argument_T2qvtrParent(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOperatorCallExp_T0operationName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapOperatorCallExp_T1atlSource(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOperatorCallExp_T2qvtrSource(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOperatorCallExp_T2qvtrTransformation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOutPattern_T1atlPattern(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOutPattern_T1atlRule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapOutPattern_T2qvtrDomain(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOutPattern_T2qvtrRelation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapOutPattern_T2qvtrTypedModel(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleInPatternElement_T0elementName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapSimpleInPatternElement_T1atlElement(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapSimpleInPatternElement_T1atlPattern(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapSimpleInPatternElement_T1atlRule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapSimpleInPatternElement_T2qvtrDomain(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleInPatternElement_T2qvtrPattern(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleInPatternElement_T2qvtrRelation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleInPatternElement_T2qvtrTemplate(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleInPatternElement_T2qvtrVariable(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T0elementName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T1atlElement(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T1atlPattern(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T1atlRule(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T2qvtrDomain(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T2qvtrPattern(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T2qvtrRelation(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T2qvtrTemplate(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapSimpleOutPatternElement_T2qvtrVariable(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapStringExp_T0symbol(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapVariable_T1atlVariable(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapVariable_T2qvtrVariable(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapVariableExp_T0varName(), + source, + new String[] { + "referredDomain", "$primitive$" + }); + addAnnotation + (getTmapVariableExp_T1atlVariable(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapVariableExp_referredVariable_Helper_T1atlVariable(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapVariableExp_referredVariable_Helper_T2qvtrVariable(), + source, + new String[] { + "referredDomain", "qvtr" + }); + addAnnotation + (getTmapVariableExp_referredVariable_VariableDeclaration_T1atlVariable(), + source, + new String[] { + "referredDomain", "atl" + }); + addAnnotation + (getTmapVariableExp_referredVariable_VariableDeclaration_T2qvtrVariable(), + source, + new String[] { + "referredDomain", "qvtr" + }); } } //trace_ATL2QVTrPackageImpl diff --git a/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/trace_ATL2QVTrPackage.java b/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/trace_ATL2QVTrPackage.java index ffee68684..4e5fdaebd 100644 --- a/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/trace_ATL2QVTrPackage.java +++ b/plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/trace_ATL2QVTrPackage.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * E.D.Willink - Initial API and implementation */ @@ -3667,22 +3667,13 @@ public interface trace_ATL2QVTrPackage extends EPackage { int TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__DISPATCHER = IMAP_VARIABLE_EXP_REFERRED_VARIABLE_FEATURE_COUNT + 0; /** - * The feature id for the '<em><b>T1atl Helper</b></em>' reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_HELPER = IMAP_VARIABLE_EXP_REFERRED_VARIABLE_FEATURE_COUNT + 1; - - /** * The feature id for the '<em><b>T1atl Variable</b></em>' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_VARIABLE = IMAP_VARIABLE_EXP_REFERRED_VARIABLE_FEATURE_COUNT + 2; + int TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_VARIABLE = IMAP_VARIABLE_EXP_REFERRED_VARIABLE_FEATURE_COUNT + 1; /** * The feature id for the '<em><b>T2qvtr Variable</b></em>' reference. @@ -3691,7 +3682,7 @@ public interface trace_ATL2QVTrPackage extends EPackage { * @generated * @ordered */ - int TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T2QVTR_VARIABLE = IMAP_VARIABLE_EXP_REFERRED_VARIABLE_FEATURE_COUNT + 3; + int TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T2QVTR_VARIABLE = IMAP_VARIABLE_EXP_REFERRED_VARIABLE_FEATURE_COUNT + 2; /** * The number of structural features of the '<em>Tmap Variable Exp referred Variable Helper</em>' class. @@ -3700,7 +3691,7 @@ public interface trace_ATL2QVTrPackage extends EPackage { * @generated * @ordered */ - int TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER_FEATURE_COUNT = IMAP_VARIABLE_EXP_REFERRED_VARIABLE_FEATURE_COUNT + 4; + int TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER_FEATURE_COUNT = IMAP_VARIABLE_EXP_REFERRED_VARIABLE_FEATURE_COUNT + 3; /** * The number of operations of the '<em>Tmap Variable Exp referred Variable Helper</em>' class. @@ -6632,17 +6623,6 @@ public interface trace_ATL2QVTrPackage extends EPackage { EReference getTmapVariableExp_referredVariable_Helper_Dispatcher(); /** - * Returns the meta object for the reference '{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.TmapVariableExp_referredVariable_Helper#getT1atlHelper <em>T1atl Helper</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the reference '<em>T1atl Helper</em>'. - * @see org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.TmapVariableExp_referredVariable_Helper#getT1atlHelper() - * @see #getTmapVariableExp_referredVariable_Helper() - * @generated - */ - EReference getTmapVariableExp_referredVariable_Helper_T1atlHelper(); - - /** * Returns the meta object for the reference '{@link org.eclipse.qvtd.atl.atl2qvtr.trace_ATL2QVTr.TmapVariableExp_referredVariable_Helper#getT1atlVariable <em>T1atl Variable</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -8899,14 +8879,6 @@ public interface trace_ATL2QVTrPackage extends EPackage { EReference TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__DISPATCHER = eINSTANCE.getTmapVariableExp_referredVariable_Helper_Dispatcher(); /** - * The meta object literal for the '<em><b>T1atl Helper</b></em>' reference feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EReference TMAP_VARIABLE_EXP_REFERRED_VARIABLE_HELPER__T1ATL_HELPER = eINSTANCE.getTmapVariableExp_referredVariable_Helper_T1atlHelper(); - - /** * The meta object literal for the '<em><b>T1atl Variable</b></em>' reference feature. * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/plugins/org.eclipse.qvtd.atl/src/org/eclipse/qvtd/atl/atl2qvtr/ATL2QVTr.java b/plugins/org.eclipse.qvtd.atl/src/org/eclipse/qvtd/atl/atl2qvtr/ATL2QVTr.java index 8702f98c8..5d87348fa 100644 --- a/plugins/org.eclipse.qvtd.atl/src/org/eclipse/qvtd/atl/atl2qvtr/ATL2QVTr.java +++ b/plugins/org.eclipse.qvtd.atl/src/org/eclipse/qvtd/atl/atl2qvtr/ATL2QVTr.java @@ -54,9 +54,11 @@ import org.eclipse.ocl.pivot.PivotFactory; import org.eclipse.ocl.pivot.PivotPackage; import org.eclipse.ocl.pivot.Property; import org.eclipse.ocl.pivot.PropertyCallExp; +import org.eclipse.ocl.pivot.StandardLibrary; import org.eclipse.ocl.pivot.StringLiteralExp; import org.eclipse.ocl.pivot.Type; import org.eclipse.ocl.pivot.Variable; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.IdManager; @@ -67,12 +69,18 @@ import org.eclipse.ocl.pivot.ids.PropertyId; import org.eclipse.ocl.pivot.ids.RootPackageId; import org.eclipse.ocl.pivot.ids.TypeId; import org.eclipse.ocl.pivot.internal.library.UnboxedCompositionProperty; +import org.eclipse.ocl.pivot.internal.library.executor.ExecutorSingleIterationManager; +import org.eclipse.ocl.pivot.library.AbstractBinaryOperation; +import org.eclipse.ocl.pivot.library.LibraryIteration; +import org.eclipse.ocl.pivot.library.classifier.ClassifierOclContainerOperation; import org.eclipse.ocl.pivot.library.collection.CollectionIsEmptyOperation; import org.eclipse.ocl.pivot.library.collection.CollectionNotEmptyOperation; import org.eclipse.ocl.pivot.library.collection.CollectionSelectByKindOperation; import org.eclipse.ocl.pivot.library.logical.BooleanNotOperation; import org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsSetOperation; import org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation; +import org.eclipse.ocl.pivot.oclstdlib.OCLstdlibTables; +import org.eclipse.ocl.pivot.utilities.ClassUtil; import org.eclipse.ocl.pivot.utilities.ValueUtil; import org.eclipse.ocl.pivot.values.BagValue; import org.eclipse.ocl.pivot.values.InvalidValueException; @@ -143,6 +151,7 @@ import org.eclipse.qvtd.runtime.evaluation.InvocationConstructor; import org.eclipse.qvtd.runtime.evaluation.TransformationExecutor; import org.eclipse.qvtd.runtime.internal.evaluation.AbstractComputationConstructor; import org.eclipse.qvtd.runtime.internal.evaluation.AbstractInvocationConstructor; +import org.eclipse.qvtd.runtime.qvttrace.QVTtracePackage; /** * The ATL2QVTr transformation: @@ -166,6 +175,7 @@ public class ATL2QVTr extends AbstractTransformer public static final /*@NonInvalid*/ @NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2015_s_QVTbase = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/2015/QVTbase", null, QVTbasePackage.eINSTANCE); public static final /*@NonInvalid*/ @NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2015_s_QVTrelation = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/2015/QVTrelation", null, QVTrelationPackage.eINSTANCE); public static final /*@NonInvalid*/ @NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2015_s_QVTtemplate = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/2015/QVTtemplate", null, QVTtemplatePackage.eINSTANCE); + public static final /*@NonInvalid*/ @NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2018_s_QVTtrace = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/2018/QVTtrace", null, QVTtracePackage.eINSTANCE); public static final /*@NonInvalid*/ @NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvtd_m_example_s_org_s_eclipse_s_qvtd_s_atl_s_atl2qvtr_s_ATL2QVTr = IdManager.getNsURIPackageId("http://www.eclipse.org/qvtd-example/org/eclipse/qvtd/atl/atl2qvtr/ATL2QVTr", "PATL2QVTr", trace_ATL2QVTrPackage.eINSTANCE); public static final /*@NonInvalid*/ @NonNull ClassId CLSSid_Attribute = PACKid_http_c_s_s_www_eclipse_org_s_gmt_s_2005_s_OCL.getClassId("Attribute", 0); public static final /*@NonInvalid*/ @NonNull ClassId CLSSid_Binding = PACKid_http_c_s_s_www_eclipse_org_s_gmt_s_2005_s_ATL.getClassId("Binding", 0); @@ -255,6 +265,7 @@ public class ATL2QVTr extends AbstractTransformer public static final /*@NonInvalid*/ @NonNull ClassId CLSSid_TmapVariableExp = PACKid_http_c_s_s_www_eclipse_org_s_qvtd_m_example_s_org_s_eclipse_s_qvtd_s_atl_s_atl2qvtr_s_ATL2QVTr.getClassId("TmapVariableExp", 0); public static final /*@NonInvalid*/ @NonNull ClassId CLSSid_TmapVariableExp_referredVariable_Helper = PACKid_http_c_s_s_www_eclipse_org_s_qvtd_m_example_s_org_s_eclipse_s_qvtd_s_atl_s_atl2qvtr_s_ATL2QVTr.getClassId("TmapVariableExp_referredVariable_Helper", 0); public static final /*@NonInvalid*/ @NonNull ClassId CLSSid_TmapVariableExp_referredVariable_VariableDeclaration = PACKid_http_c_s_s_www_eclipse_org_s_qvtd_m_example_s_org_s_eclipse_s_qvtd_s_atl_s_atl2qvtr_s_ATL2QVTr.getClassId("TmapVariableExp_referredVariable_VariableDeclaration", 0); + public static final /*@NonInvalid*/ @NonNull ClassId CLSSid_TraceElement = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2018_s_QVTtrace.getClassId("TraceElement", 0); public static final /*@NonInvalid*/ @NonNull ClassId CLSSid_Type = PACKid_$metamodel$.getClassId("Type", 0); public static final /*@NonInvalid*/ @NonNull ClassId CLSSid_TypedModel = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2015_s_QVTbase.getClassId("TypedModel", 0); public static final /*@NonInvalid*/ @NonNull ClassId CLSSid_Variable = PACKid_$metamodel$.getClassId("Variable", 0); @@ -293,7 +304,10 @@ public class ATL2QVTr extends AbstractTransformer public static final /*@NonInvalid*/ @NonNull CollectionTypeId SEQ_CLSSid_OclModelElement = TypeId.SEQUENCE.getSpecializedId(CLSSid_OclModelElement); public static final /*@NonInvalid*/ @NonNull CollectionTypeId SEQ_CLSSid_OclType = TypeId.SEQUENCE.getSpecializedId(CLSSid_OclType); public static final /*@NonInvalid*/ @NonNull CollectionTypeId SEQ_CLSSid_Operation = TypeId.SEQUENCE.getSpecializedId(CLSSid_Operation); + public static final /*@NonInvalid*/ @NonNull CollectionTypeId SET_CLSSid_Helper = TypeId.SET.getSpecializedId(CLSSid_Helper); public static final /*@NonInvalid*/ @NonNull CollectionTypeId SET_CLSSid_InPatternElement = TypeId.SET.getSpecializedId(CLSSid_InPatternElement); + public static final /*@NonInvalid*/ @NonNull CollectionTypeId SET_CLSSid_LocatedElement = TypeId.SET.getSpecializedId(CLSSid_LocatedElement); + public static final /*@NonInvalid*/ @NonNull CollectionTypeId SET_CLSSid_OclElement = TypeId.SET.getSpecializedId(CLSSid_OclElement); public static final /*@NonInvalid*/ @NonNull CollectionTypeId SET_CLSSid_OclModel = TypeId.SET.getSpecializedId(CLSSid_OclModel); public static final /*@NonInvalid*/ @NonNull CollectionTypeId SET_CLSSid_Package = TypeId.SET.getSpecializedId(CLSSid_Package); public static final /*@NonInvalid*/ @NonNull NestedPackageId PACKid_atl2qvtr = PACKid_atl.getNestedPackageId("atl2qvtr"); @@ -511,19 +525,67 @@ public class ATL2QVTr extends AbstractTransformer } /** - * ::getHelper(element : ATL::LocatedElement[?]) : ATL::Helper[?] + * ::getHelper(element : ATL::LocatedElement[1]) : ATL::Helper[1] */ protected class FUN_getHelper extends AbstractComputation { protected final @NonNull ATL2QVTr self; - protected /*@NonInvalid*/ LocatedElement element; - protected final /*@Thrown*/ @Nullable Helper instance; - + protected /*@NonInvalid*/ @NonNull LocatedElement element; + protected final /*@Thrown*/ @NonNull Helper instance; + + /** + * + * element->closure(e | e.oclContainer()) + * ->selectByKind(ATL::Helper) + * ->any(true) + */ @SuppressWarnings("null") public FUN_getHelper(/*Nullable*/ Object @NonNull [] boundValues) { this.self = (ATL2QVTr)boundValues[0]; this.element = (LocatedElement)boundValues[1]; - this.instance = org.eclipse.qvtd.atl.atl2qvtr.utilities.Helper4getHelper.INSTANCE.evaluate(executor, CLSSid_Helper, element); + final /*@NonInvalid*/ @NonNull IdResolver idResolver = executor.getIdResolver(); + final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_ATL_c_c_Helper_0 = idResolver.getClass(CLSSid_Helper, null); + final /*@NonInvalid*/ @NonNull StandardLibrary standardLibrary = idResolver.getStandardLibrary(); + final /*@NonInvalid*/ @NonNull SetValue oclAsSet = OclAnyOclAsSetOperation.INSTANCE.evaluate(executor, SET_CLSSid_LocatedElement, element); + final org.eclipse.ocl.pivot.@NonNull Class TYPE_closure_0 = executor.getStaticTypeOf(oclAsSet); + final LibraryIteration.@NonNull LibraryIterationExtension IMPL_closure_0 = (LibraryIteration.LibraryIterationExtension)TYPE_closure_0.lookupImplementation(standardLibrary, OCLstdlibTables.Operations._Set__closure); + final @NonNull Object ACC_closure_0 = IMPL_closure_0.createAccumulatorValue(executor, SET_CLSSid_OclElement, CLSSid_OclElement); + /** + * Implementation of the iterator body. + */ + final @NonNull AbstractBinaryOperation BODY_closure_0 = new AbstractBinaryOperation() + { + /** + * e.oclContainer() + */ + @Override + public @Nullable Object evaluate(final @NonNull Executor executor, final @NonNull TypeId typeId, final @Nullable Object oclAsSet, final /*@NonInvalid*/ @Nullable Object e_0) { + final /*@NonInvalid*/ @Nullable Object symbol_0 = (Object)e_0; + final /*@Thrown*/ @Nullable Object oclContainer = ClassifierOclContainerOperation.INSTANCE.evaluate(executor, symbol_0); + return oclContainer; + } + }; + final @NonNull ExecutorSingleIterationManager MGR_closure_0 = new ExecutorSingleIterationManager(executor, SET_CLSSid_OclElement, BODY_closure_0, oclAsSet, ACC_closure_0); + final /*@Thrown*/ @NonNull SetValue closure = ClassUtil.nonNullState((SetValue)IMPL_closure_0.evaluateIteration(MGR_closure_0)); + final /*@Thrown*/ @NonNull SetValue selectByKind = (SetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, closure, TYP_ATL_c_c_Helper_0); + @NonNull Iterator<Object> ITERATOR__1 = selectByKind.iterator(); + /*@Thrown*/ @NonNull Helper any; + while (true) { + if (!ITERATOR__1.hasNext()) { + throw new InvalidValueException("No matching content for 'any'"); + } + @SuppressWarnings("null") + /*@NonInvalid*/ @NonNull Helper _1 = (Helper)ITERATOR__1.next(); + /** + * true + */ + // + if (ValueUtil.TRUE_VALUE != ValueUtil.FALSE_VALUE) { // Carry on till something found + any = _1; + break; + } + } + this.instance = any; } @Override @@ -1015,7 +1077,7 @@ public class ATL2QVTr extends AbstractTransformer * install mTmapVariableExp__referredVariable__VariableDeclara_p4 { * trace consumes ::jm_TmapVariableExp__referredVariable__VariableDecl : trace_ATL2QVTr::TmapVariableExp_referredVariable_VariableDeclaration[1]; * } - * install mTmapVariableExp__referredVariable__Helper_success__p1 { + * install mTmapVariableExp__referredVariable__Helper_success_p1 { * trace consumes ::jm_TmapVariableExp__referredVariable__Helper : trace_ATL2QVTr::TmapVariableExp_referredVariable_Helper[1]; * } * install mDmapVariableExp__referredVariable_success { @@ -1383,7 +1445,7 @@ public class ATL2QVTr extends AbstractTransformer MAP_mTmapVariableExp__referredVariable__VariableDeclara_p4(trace_150); } for (@NonNull TmapVariableExp_referredVariable_Helper trace_151 : jm_TmapVariableExp__referredVariable__Helper_1.typedIterable(TmapVariableExp_referredVariable_Helper.class)) { - MAP_mTmapVariableExp__referredVariable__Helper_success__p1(trace_151); + MAP_mTmapVariableExp__referredVariable__Helper_success_p1(trace_151); } for (@NonNull DmapVariableExp_referredVariable mapVariableExp_referredVariable_0 : jm_DmapVariableExp__referredVariable_1.typedIterable(DmapVariableExp_referredVariable.class)) { MAP_mDmapVariableExp__referredVariable_success(mapVariableExp_referredVariable_0); @@ -1444,8 +1506,8 @@ public class ATL2QVTr extends AbstractTransformer * * map mHelper_DmapHelper in ATL2QVTr { * guard:atl atlHelper : ATL::Helper[1]; - * append jm_TmapHelper__Operation : trace_ATL2QVTr::TmapHelper_Operation[1]; * append jm_DmapHelper : trace_ATL2QVTr::DmapHelper[1]; + * append jm_TmapHelper__Operation : trace_ATL2QVTr::TmapHelper_Operation[1]; * append jm_TmapHelper__Attribute : trace_ATL2QVTr::TmapHelper_Attribute[1]; * new:middle dispatcher : trace_ATL2QVTr::DmapHelper[1]; * new:middle mapHelper_Attribute : trace_ATL2QVTr::TmapHelper_Attribute[1]; @@ -1454,8 +1516,8 @@ public class ATL2QVTr extends AbstractTransformer * set dispatcher.domapHelper_Attribute := mapHelper_Attribute; * set dispatcher.domapHelper_Operation := mapHelper_Operation; * add jm_TmapHelper__Attribute += mapHelper_Attribute; - * add jm_TmapHelper__Operation += mapHelper_Operation; * add jm_DmapHelper += dispatcher; + * add jm_TmapHelper__Operation += mapHelper_Operation; * */ protected boolean MAP_mHelper_DmapHelper(final /*@NonInvalid*/ @NonNull Helper atlHelper, final @NonNull Connection jm_DmapHelper, final @NonNull Connection jm_TmapHelper__Attribute, final @NonNull Connection jm_TmapHelper__Operation) { @@ -1475,8 +1537,8 @@ public class ATL2QVTr extends AbstractTransformer dispatcher_0.setDomapHelper_Attribute(mapHelper_Attribute); dispatcher_0.setDomapHelper_Operation(mapHelper_Operation); jm_TmapHelper__Attribute.appendElement(mapHelper_Attribute); - jm_TmapHelper__Operation.appendElement(mapHelper_Operation); jm_DmapHelper.appendElement(dispatcher_0); + jm_TmapHelper__Operation.appendElement(mapHelper_Operation); final /*@Thrown*/ @Nullable Boolean mHelper_DmapHelper = ValueUtil.TRUE_VALUE; if (debugInvocations) { AbstractTransformer.INVOCATIONS.println((mHelper_DmapHelper ? "done " : "fail ") + "MAP_mHelper_DmapHelper"); @@ -1488,17 +1550,17 @@ public class ATL2QVTr extends AbstractTransformer * * map mOclExpression_DmapOclExpression in ATL2QVTr { * guard:atl atlExpression : OCL::OclExpression[1]; - * append jm_TmapBooleanExp : trace_ATL2QVTr::TmapBooleanExp[1]; - * append jm_TmapNavigationOrAttributeCallExp__Property : trace_ATL2QVTr::TmapNavigationOrAttributeCallExp_Property[1]; * append jm_TmapNavigationOrAttributeCallExp__Helper : trace_ATL2QVTr::TmapNavigationOrAttributeCallExp_Helper[1]; - * append jm_TmapIntegerExp : trace_ATL2QVTr::TmapIntegerExp[1]; - * append jm_TmapStringExp : trace_ATL2QVTr::TmapStringExp[1]; - * append jm_TmapIfExp : trace_ATL2QVTr::TmapIfExp[1]; - * append jm_TmapOperationCallExp__Helper : trace_ATL2QVTr::TmapOperationCallExp_Helper[1]; - * append jm_TmapOperationCallExp__Operation : trace_ATL2QVTr::TmapOperationCallExp_Operation[1]; * append jm_TmapOperatorCallExp : trace_ATL2QVTr::TmapOperatorCallExp[1]; * append jm_DmapOclExpression : trace_ATL2QVTr::DmapOclExpression[1]; + * append jm_TmapOperationCallExp__Operation : trace_ATL2QVTr::TmapOperationCallExp_Operation[1]; + * append jm_TmapBooleanExp : trace_ATL2QVTr::TmapBooleanExp[1]; + * append jm_TmapIntegerExp : trace_ATL2QVTr::TmapIntegerExp[1]; + * append jm_TmapNavigationOrAttributeCallExp__Property : trace_ATL2QVTr::TmapNavigationOrAttributeCallExp_Property[1]; * append jm_TmapVariableExp : trace_ATL2QVTr::TmapVariableExp[1]; + * append jm_TmapOperationCallExp__Helper : trace_ATL2QVTr::TmapOperationCallExp_Helper[1]; + * append jm_TmapIfExp : trace_ATL2QVTr::TmapIfExp[1]; + * append jm_TmapStringExp : trace_ATL2QVTr::TmapStringExp[1]; * new:middle dispatcher : trace_ATL2QVTr::DmapOclExpression[1]; * new:middle mapBooleanExp : trace_ATL2QVTr::TmapBooleanExp[1]; * new:middle mapIfExp : trace_ATL2QVTr::TmapIfExp[1]; @@ -1521,17 +1583,17 @@ public class ATL2QVTr extends AbstractTransformer * set dispatcher.domapOperatorCallExp := mapOperatorCallExp; * set dispatcher.domapStringExp := mapStringExp; * set dispatcher.domapVariableExp := mapVariableExp; - * add jm_TmapIfExp += mapIfExp; - * add jm_TmapBooleanExp += mapBooleanExp; - * add jm_TmapOperationCallExp__Helper += mapOperationCallExp_Helper; * add jm_TmapOperationCallExp__Operation += mapOperationCallExp_Operation; + * add jm_TmapBooleanExp += mapBooleanExp; + * add jm_TmapNavigationOrAttributeCallExp__Helper += mapNavigationOrAttributeCallExp_Helper; + * add jm_TmapOperatorCallExp += mapOperatorCallExp; * add jm_TmapIntegerExp += mapIntegerExp; * add jm_TmapNavigationOrAttributeCallExp__Property += mapNavigationOrAttributeCallExp_Property; - * add jm_TmapStringExp += mapStringExp; - * add jm_TmapOperatorCallExp += mapOperatorCallExp; - * add jm_DmapOclExpression += dispatcher; - * add jm_TmapNavigationOrAttributeCallExp__Helper += mapNavigationOrAttributeCallExp_Helper; * add jm_TmapVariableExp += mapVariableExp; + * add jm_TmapOperationCallExp__Helper += mapOperationCallExp_Helper; + * add jm_TmapIfExp += mapIfExp; + * add jm_DmapOclExpression += dispatcher; + * add jm_TmapStringExp += mapStringExp; * */ protected boolean MAP_mOclExpression_DmapOclExpression(final /*@NonInvalid*/ @NonNull OclExpression atlExpression, final @NonNull Connection jm_DmapOclExpression, final @NonNull Connection jm_TmapBooleanExp, final @NonNull Connection jm_TmapIfExp, final @NonNull Connection jm_TmapIntegerExp, final @NonNull Connection jm_TmapNavigationOrAttributeCallExp__Helper, final @NonNull Connection jm_TmapNavigationOrAttributeCallExp__Property, final @NonNull Connection jm_TmapOperationCallExp__Helper, final @NonNull Connection jm_TmapOperationCallExp__Operation, final @NonNull Connection jm_TmapOperatorCallExp, final @NonNull Connection jm_TmapStringExp, final @NonNull Connection jm_TmapVariableExp) { @@ -1574,17 +1636,17 @@ public class ATL2QVTr extends AbstractTransformer dispatcher_0.setDomapOperatorCallExp(mapOperatorCallExp); dispatcher_0.setDomapStringExp(mapStringExp); dispatcher_0.setDomapVariableExp(mapVariableExp); - jm_TmapIfExp.appendElement(mapIfExp); - jm_TmapBooleanExp.appendElement(mapBooleanExp); - jm_TmapOperationCallExp__Helper.appendElement(mapOperationCallExp_Helper); jm_TmapOperationCallExp__Operation.appendElement(mapOperationCallExp_Operation); + jm_TmapBooleanExp.appendElement(mapBooleanExp); + jm_TmapNavigationOrAttributeCallExp__Helper.appendElement(mapNavigationOrAttributeCallExp_Helper); + jm_TmapOperatorCallExp.appendElement(mapOperatorCallExp); jm_TmapIntegerExp.appendElement(mapIntegerExp); jm_TmapNavigationOrAttributeCallExp__Property.appendElement(mapNavigationOrAttributeCallExp_Property); - jm_TmapStringExp.appendElement(mapStringExp); - jm_TmapOperatorCallExp.appendElement(mapOperatorCallExp); - jm_DmapOclExpression.appendElement(dispatcher_0); - jm_TmapNavigationOrAttributeCallExp__Helper.appendElement(mapNavigationOrAttributeCallExp_Helper); jm_TmapVariableExp.appendElement(mapVariableExp); + jm_TmapOperationCallExp__Helper.appendElement(mapOperationCallExp_Helper); + jm_TmapIfExp.appendElement(mapIfExp); + jm_DmapOclExpression.appendElement(dispatcher_0); + jm_TmapStringExp.appendElement(mapStringExp); final /*@Thrown*/ @Nullable Boolean mOclExpression_DmapOclExpression = ValueUtil.TRUE_VALUE; if (debugInvocations) { AbstractTransformer.INVOCATIONS.println((mOclExpression_DmapOclExpression ? "done " : "fail ") + "MAP_mOclExpression_DmapOclExpression"); @@ -1824,16 +1886,16 @@ public class ATL2QVTr extends AbstractTransformer * guard:middle trace : trace_ATL2QVTr::TmapIfExp[1] success success; * var atlThen : OCL::OclExpression[1] := trace.t1atlThen; * var when_mapOclExpression : trace_ATL2QVTr::DmapOclExpression[1] := atlThen.DmapOclExpression; - * var atlCondition : OCL::OclExpression[1] := trace.t1atlCondition; - * var when_mapOclExpression1 : trace_ATL2QVTr::DmapOclExpression[1] := atlCondition.DmapOclExpression; * var atlElse : OCL::OclExpression[1] := trace.t1atlElse; - * var when_mapOclExpression2 : trace_ATL2QVTr::DmapOclExpression[1] := atlElse.DmapOclExpression; + * var when_mapOclExpression1 : trace_ATL2QVTr::DmapOclExpression[1] := atlElse.DmapOclExpression; + * var atlCondition : OCL::OclExpression[1] := trace.t1atlCondition; + * var when_mapOclExpression2 : trace_ATL2QVTr::DmapOclExpression[1] := atlCondition.DmapOclExpression; * var dispatcher : trace_ATL2QVTr::DmapOclExpression[1] := trace.dispatcher; * set dispatcher.success := true; * set dispatcher.result := trace; - * set trace.wmapOclExpression1 := when_mapOclExpression2; + * set trace.wmapOclExpression1 := when_mapOclExpression1; * set trace.wmapOclExpression2 := when_mapOclExpression; - * set trace.wmapOclExpression := when_mapOclExpression1; + * set trace.wmapOclExpression := when_mapOclExpression2; * */ protected boolean MAP_mTmapIfExp_success_wmapOclExpression_wmapOclExpress_p1(final /*@NonInvalid*/ @NonNull TmapIfExp trace_3) { @@ -1850,8 +1912,8 @@ public class ATL2QVTr extends AbstractTransformer throw new InvalidEvaluationException("Null where non-null value required"); } @SuppressWarnings("null") - final /*@NonInvalid*/ @NonNull OclExpression t1atlCondition = trace_3.getT1atlCondition(); - final /*@NonInvalid*/ @Nullable DmapOclExpression DmapOclExpression_0 = OPPOSITE_OF_DmapOclExpression_d1atlExpression.get(t1atlCondition); + final /*@NonInvalid*/ @NonNull OclExpression t1atlElse = trace_3.getT1atlElse(); + final /*@NonInvalid*/ @Nullable DmapOclExpression DmapOclExpression_0 = OPPOSITE_OF_DmapOclExpression_d1atlExpression.get(t1atlElse); final /*@NonInvalid*/ boolean symbol_1 = DmapOclExpression_0 != null; /*@Thrown*/ @Nullable Boolean raw_when_mapOclExpression1; if (symbol_1) { @@ -1859,8 +1921,8 @@ public class ATL2QVTr extends AbstractTransformer throw new InvalidEvaluationException("Null where non-null value required"); } @SuppressWarnings("null") - final /*@NonInvalid*/ @NonNull OclExpression t1atlElse = trace_3.getT1atlElse(); - final /*@NonInvalid*/ @Nullable DmapOclExpression DmapOclExpression_1 = OPPOSITE_OF_DmapOclExpression_d1atlExpression.get(t1atlElse); + final /*@NonInvalid*/ @NonNull OclExpression t1atlCondition = trace_3.getT1atlCondition(); + final /*@NonInvalid*/ @Nullable DmapOclExpression DmapOclExpression_1 = OPPOSITE_OF_DmapOclExpression_d1atlExpression.get(t1atlCondition); final /*@NonInvalid*/ boolean symbol_2 = DmapOclExpression_1 != null; /*@Thrown*/ @Nullable Boolean raw_when_mapOclExpression2; if (symbol_2) { @@ -1872,9 +1934,9 @@ public class ATL2QVTr extends AbstractTransformer // mapping statements dispatcher_0.setSuccess((Boolean)ValueUtil.TRUE_VALUE); dispatcher_0.setResult(trace_3); - trace_3.setWmapOclExpression1(DmapOclExpression_1); + trace_3.setWmapOclExpression1(DmapOclExpression_0); trace_3.setWmapOclExpression2(DmapOclExpression); - trace_3.setWmapOclExpression(DmapOclExpression_0); + trace_3.setWmapOclExpression(DmapOclExpression_1); final /*@Thrown*/ @Nullable Boolean mTmapIfExp_success_wmapOclExpression_wmapOclExpress_p1 = ValueUtil.TRUE_VALUE; raw_when_mapOclExpression2 = mTmapIfExp_success_wmapOclExpression_wmapOclExpress_p1; } @@ -2995,7 +3057,7 @@ public class ATL2QVTr extends AbstractTransformer * var ruleName : String[1] := matchedRule.name; * var when_mapModule : trace_ATL2QVTr::TmapModule[1] := atlModule.TmapModule; * var qvtrTransformation : qvtrelation::RelationalTransformation[1] := when_mapModule.t2qvtrTransformation; - * var OclElement1 : Class[1] := OclElement; + * var TraceElement : Class[1] := qvttrace::TraceElement; * new:qvtr _1 : qvtrelation::SharedVariable[1]; * new:qvtr qvtrRelation : qvtrelation::Relation[1]; * set _1.isImplicit := true; @@ -3004,7 +3066,7 @@ public class ATL2QVTr extends AbstractTransformer * set qvtrRelation.isTopLevel := true; * set qvtrRelation.name := ruleName; * set trace.t0ruleName := ruleName; - * set _1.type := OclElement1; + * set _1.type := TraceElement; * set qvtrRelation.transformation := qvtrTransformation; * set qvtrRelation.variable := _1; * set trace.t1atlModule := atlModule; @@ -3040,7 +3102,7 @@ public class ATL2QVTr extends AbstractTransformer } @SuppressWarnings("null") final /*@Thrown*/ @NonNull RelationalTransformation t2qvtrTransformation = TmapModule.getT2qvtrTransformation(); - final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_OclElement_0 = idResolver.getClass(CLSSid_OclElement, null); + final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull Class TYP_qvttrace_c_c_TraceElement_0 = idResolver.getClass(CLSSid_TraceElement, null); // creations final @NonNull SharedVariable _1 = QVTrelationFactory.eINSTANCE.createSharedVariable(); models[1/*qvtr*/].add(_1, false); @@ -3053,7 +3115,7 @@ public class ATL2QVTr extends AbstractTransformer qvtrRelation.setIsTopLevel(ValueUtil.TRUE_VALUE); qvtrRelation.setName(name_2); trace_18.setT0ruleName(name_2); - _1.setType(TYP_OclElement_0); + _1.setType(TYP_qvttrace_c_c_TraceElement_0); qvtrRelation.setTransformation(t2qvtrTransformation); qvtrRelation.getVariable().add(_1); trace_18.setT1atlModule(module); @@ -3866,24 +3928,24 @@ public class ATL2QVTr extends AbstractTransformer * * map mDmapOclExpression_success in ATL2QVTr { * guard:middle mapOclExpression : trace_ATL2QVTr::DmapOclExpression[1]; - * var mapNavigationOrAttributeCallExp_Property : trace_ATL2QVTr::TmapNavigationOrAttributeCallExp_Property[1] := mapOclExpression.domapNavigationOrAttributeCallExp_Property; - * check mapNavigationOrAttributeCallExp_Property.success = false; + * var mapVariableExp : trace_ATL2QVTr::TmapVariableExp[1] := mapOclExpression.domapVariableExp; + * check mapVariableExp.success = false; + * var mapIfExp : trace_ATL2QVTr::TmapIfExp[1] := mapOclExpression.domapIfExp; + * check mapIfExp.success = false; + * var mapOperationCallExp_Operation : trace_ATL2QVTr::TmapOperationCallExp_Operation[1] := mapOclExpression.domapOperationCallExp_Operation; + * check mapOperationCallExp_Operation.success = false; + * var mapIntegerExp : trace_ATL2QVTr::TmapIntegerExp[1] := mapOclExpression.domapIntegerExp; + * check mapIntegerExp.success = false; + * var mapNavigationOrAttributeCallExp_Helper : trace_ATL2QVTr::TmapNavigationOrAttributeCallExp_Helper[1] := mapOclExpression.domapNavigationOrAttributeCallExp_Helper; + * check mapNavigationOrAttributeCallExp_Helper.success = false; * var mapOperatorCallExp : trace_ATL2QVTr::TmapOperatorCallExp[1] := mapOclExpression.domapOperatorCallExp; * check mapOperatorCallExp.success = false; + * var mapNavigationOrAttributeCallExp_Property : trace_ATL2QVTr::TmapNavigationOrAttributeCallExp_Property[1] := mapOclExpression.domapNavigationOrAttributeCallExp_Property; + * check mapNavigationOrAttributeCallExp_Property.success = false; * var mapStringExp : trace_ATL2QVTr::TmapStringExp[1] := mapOclExpression.domapStringExp; * check mapStringExp.success = false; - * var mapNavigationOrAttributeCallExp_Helper : trace_ATL2QVTr::TmapNavigationOrAttributeCallExp_Helper[1] := mapOclExpression.domapNavigationOrAttributeCallExp_Helper; - * check mapNavigationOrAttributeCallExp_Helper.success = false; - * var mapOperationCallExp_Operation : trace_ATL2QVTr::TmapOperationCallExp_Operation[1] := mapOclExpression.domapOperationCallExp_Operation; - * check mapOperationCallExp_Operation.success = false; - * var mapVariableExp : trace_ATL2QVTr::TmapVariableExp[1] := mapOclExpression.domapVariableExp; - * check mapVariableExp.success = false; * var mapBooleanExp : trace_ATL2QVTr::TmapBooleanExp[1] := mapOclExpression.domapBooleanExp; * check mapBooleanExp.success = false; - * var mapIntegerExp : trace_ATL2QVTr::TmapIntegerExp[1] := mapOclExpression.domapIntegerExp; - * check mapIntegerExp.success = false; - * var mapIfExp : trace_ATL2QVTr::TmapIfExp[1] := mapOclExpression.domapIfExp; - * check mapIfExp.success = false; * var mapOperationCallExp_Helper : trace_ATL2QVTr::TmapOperationCallExp_Helper[1] := mapOclExpression.domapOperationCallExp_Helper; * check mapOperationCallExp_Helper.success = false; * set mapOclExpression.success := false; @@ -3893,102 +3955,102 @@ public class ATL2QVTr extends AbstractTransformer if (debugInvocations) { AbstractTransformer.INVOCATIONS.println("invoke MAP_mDmapOclExpression_success" + ", " + mapOclExpression); } - final /*@NonInvalid*/ @Nullable TmapNavigationOrAttributeCallExp_Property domapNavigationOrAttributeCallExp_Property = mapOclExpression.getDomapNavigationOrAttributeCallExp_Property(); - final /*@NonInvalid*/ boolean symbol_0 = domapNavigationOrAttributeCallExp_Property != null; - /*@Thrown*/ @Nullable Boolean raw_mapNavigationOrAttributeCallExp_Property; + final /*@NonInvalid*/ @Nullable TmapVariableExp domapVariableExp = mapOclExpression.getDomapVariableExp(); + final /*@NonInvalid*/ boolean symbol_0 = domapVariableExp != null; + /*@Thrown*/ @Nullable Boolean raw_mapVariableExp; if (symbol_0) { - if (domapNavigationOrAttributeCallExp_Property == null) { + if (domapVariableExp == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable Boolean success = domapNavigationOrAttributeCallExp_Property.getSuccess(); + final /*@Thrown*/ @Nullable Boolean success = domapVariableExp.getSuccess(); final /*@Thrown*/ boolean eq = success == Boolean.FALSE; /*@Thrown*/ @Nullable Boolean symbol_21; if (eq) { - final /*@NonInvalid*/ @Nullable TmapOperatorCallExp domapOperatorCallExp = mapOclExpression.getDomapOperatorCallExp(); - final /*@NonInvalid*/ boolean symbol_1 = domapOperatorCallExp != null; - /*@Thrown*/ @Nullable Boolean raw_mapOperatorCallExp; + final /*@NonInvalid*/ @Nullable TmapIfExp domapIfExp = mapOclExpression.getDomapIfExp(); + final /*@NonInvalid*/ boolean symbol_1 = domapIfExp != null; + /*@Thrown*/ @Nullable Boolean raw_mapIfExp; if (symbol_1) { - if (domapOperatorCallExp == null) { + if (domapIfExp == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable Boolean success_0 = domapOperatorCallExp.getSuccess(); + final /*@Thrown*/ @Nullable Boolean success_0 = domapIfExp.getSuccess(); final /*@Thrown*/ boolean eq_0 = success_0 == Boolean.FALSE; /*@Thrown*/ @Nullable Boolean symbol_20; if (eq_0) { - final /*@NonInvalid*/ @Nullable TmapStringExp domapStringExp = mapOclExpression.getDomapStringExp(); - final /*@NonInvalid*/ boolean symbol_2 = domapStringExp != null; - /*@Thrown*/ @Nullable Boolean raw_mapStringExp; + final /*@NonInvalid*/ @Nullable TmapOperationCallExp_Operation domapOperationCallExp_Operation = mapOclExpression.getDomapOperationCallExp_Operation(); + final /*@NonInvalid*/ boolean symbol_2 = domapOperationCallExp_Operation != null; + /*@Thrown*/ @Nullable Boolean raw_mapOperationCallExp_Operation; if (symbol_2) { - if (domapStringExp == null) { + if (domapOperationCallExp_Operation == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable Boolean success_1 = domapStringExp.getSuccess(); + final /*@Thrown*/ @Nullable Boolean success_1 = domapOperationCallExp_Operation.getSuccess(); final /*@Thrown*/ boolean eq_1 = success_1 == Boolean.FALSE; /*@Thrown*/ @Nullable Boolean symbol_19; if (eq_1) { - final /*@NonInvalid*/ @Nullable TmapNavigationOrAttributeCallExp_Helper domapNavigationOrAttributeCallExp_Helper = mapOclExpression.getDomapNavigationOrAttributeCallExp_Helper(); - final /*@NonInvalid*/ boolean symbol_3 = domapNavigationOrAttributeCallExp_Helper != null; - /*@Thrown*/ @Nullable Boolean raw_mapNavigationOrAttributeCallExp_Helper; + final /*@NonInvalid*/ @Nullable TmapIntegerExp domapIntegerExp = mapOclExpression.getDomapIntegerExp(); + final /*@NonInvalid*/ boolean symbol_3 = domapIntegerExp != null; + /*@Thrown*/ @Nullable Boolean raw_mapIntegerExp; if (symbol_3) { - if (domapNavigationOrAttributeCallExp_Helper == null) { + if (domapIntegerExp == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable Boolean success_2 = domapNavigationOrAttributeCallExp_Helper.getSuccess(); + final /*@Thrown*/ @Nullable Boolean success_2 = domapIntegerExp.getSuccess(); final /*@Thrown*/ boolean eq_2 = success_2 == Boolean.FALSE; /*@Thrown*/ @Nullable Boolean symbol_18; if (eq_2) { - final /*@NonInvalid*/ @Nullable TmapOperationCallExp_Operation domapOperationCallExp_Operation = mapOclExpression.getDomapOperationCallExp_Operation(); - final /*@NonInvalid*/ boolean symbol_4 = domapOperationCallExp_Operation != null; - /*@Thrown*/ @Nullable Boolean raw_mapOperationCallExp_Operation; + final /*@NonInvalid*/ @Nullable TmapNavigationOrAttributeCallExp_Helper domapNavigationOrAttributeCallExp_Helper = mapOclExpression.getDomapNavigationOrAttributeCallExp_Helper(); + final /*@NonInvalid*/ boolean symbol_4 = domapNavigationOrAttributeCallExp_Helper != null; + /*@Thrown*/ @Nullable Boolean raw_mapNavigationOrAttributeCallExp_Helper; if (symbol_4) { - if (domapOperationCallExp_Operation == null) { + if (domapNavigationOrAttributeCallExp_Helper == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable Boolean success_3 = domapOperationCallExp_Operation.getSuccess(); + final /*@Thrown*/ @Nullable Boolean success_3 = domapNavigationOrAttributeCallExp_Helper.getSuccess(); final /*@Thrown*/ boolean eq_3 = success_3 == Boolean.FALSE; /*@Thrown*/ @Nullable Boolean symbol_17; if (eq_3) { - final /*@NonInvalid*/ @Nullable TmapVariableExp domapVariableExp = mapOclExpression.getDomapVariableExp(); - final /*@NonInvalid*/ boolean symbol_5 = domapVariableExp != null; - /*@Thrown*/ @Nullable Boolean raw_mapVariableExp; + final /*@NonInvalid*/ @Nullable TmapOperatorCallExp domapOperatorCallExp = mapOclExpression.getDomapOperatorCallExp(); + final /*@NonInvalid*/ boolean symbol_5 = domapOperatorCallExp != null; + /*@Thrown*/ @Nullable Boolean raw_mapOperatorCallExp; if (symbol_5) { - if (domapVariableExp == null) { + if (domapOperatorCallExp == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable Boolean success_4 = domapVariableExp.getSuccess(); + final /*@Thrown*/ @Nullable Boolean success_4 = domapOperatorCallExp.getSuccess(); final /*@Thrown*/ boolean eq_4 = success_4 == Boolean.FALSE; /*@Thrown*/ @Nullable Boolean symbol_16; if (eq_4) { - final /*@NonInvalid*/ @Nullable TmapBooleanExp domapBooleanExp = mapOclExpression.getDomapBooleanExp(); - final /*@NonInvalid*/ boolean symbol_6 = domapBooleanExp != null; - /*@Thrown*/ @Nullable Boolean raw_mapBooleanExp; + final /*@NonInvalid*/ @Nullable TmapNavigationOrAttributeCallExp_Property domapNavigationOrAttributeCallExp_Property = mapOclExpression.getDomapNavigationOrAttributeCallExp_Property(); + final /*@NonInvalid*/ boolean symbol_6 = domapNavigationOrAttributeCallExp_Property != null; + /*@Thrown*/ @Nullable Boolean raw_mapNavigationOrAttributeCallExp_Property; if (symbol_6) { - if (domapBooleanExp == null) { + if (domapNavigationOrAttributeCallExp_Property == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable Boolean success_5 = domapBooleanExp.getSuccess(); + final /*@Thrown*/ @Nullable Boolean success_5 = domapNavigationOrAttributeCallExp_Property.getSuccess(); final /*@Thrown*/ boolean eq_5 = success_5 == Boolean.FALSE; /*@Thrown*/ @Nullable Boolean symbol_15; if (eq_5) { - final /*@NonInvalid*/ @Nullable TmapIntegerExp domapIntegerExp = mapOclExpression.getDomapIntegerExp(); - final /*@NonInvalid*/ boolean symbol_7 = domapIntegerExp != null; - /*@Thrown*/ @Nullable Boolean raw_mapIntegerExp; + final /*@NonInvalid*/ @Nullable TmapStringExp domapStringExp = mapOclExpression.getDomapStringExp(); + final /*@NonInvalid*/ boolean symbol_7 = domapStringExp != null; + /*@Thrown*/ @Nullable Boolean raw_mapStringExp; if (symbol_7) { - if (domapIntegerExp == null) { + if (domapStringExp == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable Boolean success_6 = domapIntegerExp.getSuccess(); + final /*@Thrown*/ @Nullable Boolean success_6 = domapStringExp.getSuccess(); final /*@Thrown*/ boolean eq_6 = success_6 == Boolean.FALSE; /*@Thrown*/ @Nullable Boolean symbol_14; if (eq_6) { - final /*@NonInvalid*/ @Nullable TmapIfExp domapIfExp = mapOclExpression.getDomapIfExp(); - final /*@NonInvalid*/ boolean symbol_8 = domapIfExp != null; - /*@Thrown*/ @Nullable Boolean raw_mapIfExp; + final /*@NonInvalid*/ @Nullable TmapBooleanExp domapBooleanExp = mapOclExpression.getDomapBooleanExp(); + final /*@NonInvalid*/ boolean symbol_8 = domapBooleanExp != null; + /*@Thrown*/ @Nullable Boolean raw_mapBooleanExp; if (symbol_8) { - if (domapIfExp == null) { + if (domapBooleanExp == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable Boolean success_7 = domapIfExp.getSuccess(); + final /*@Thrown*/ @Nullable Boolean success_7 = domapBooleanExp.getSuccess(); final /*@Thrown*/ boolean eq_7 = success_7 == Boolean.FALSE; /*@Thrown*/ @Nullable Boolean symbol_13; if (eq_7) { @@ -4021,95 +4083,95 @@ public class ATL2QVTr extends AbstractTransformer else { symbol_13 = ValueUtil.FALSE_VALUE; } - raw_mapIfExp = symbol_13; + raw_mapBooleanExp = symbol_13; } else { - raw_mapIfExp = ValueUtil.FALSE_VALUE; + raw_mapBooleanExp = ValueUtil.FALSE_VALUE; } - symbol_14 = raw_mapIfExp; + symbol_14 = raw_mapBooleanExp; } else { symbol_14 = ValueUtil.FALSE_VALUE; } - raw_mapIntegerExp = symbol_14; + raw_mapStringExp = symbol_14; } else { - raw_mapIntegerExp = ValueUtil.FALSE_VALUE; + raw_mapStringExp = ValueUtil.FALSE_VALUE; } - symbol_15 = raw_mapIntegerExp; + symbol_15 = raw_mapStringExp; } else { symbol_15 = ValueUtil.FALSE_VALUE; } - raw_mapBooleanExp = symbol_15; + raw_mapNavigationOrAttributeCallExp_Property = symbol_15; } else { - raw_mapBooleanExp = ValueUtil.FALSE_VALUE; + raw_mapNavigationOrAttributeCallExp_Property = ValueUtil.FALSE_VALUE; } - symbol_16 = raw_mapBooleanExp; + symbol_16 = raw_mapNavigationOrAttributeCallExp_Property; } else { symbol_16 = ValueUtil.FALSE_VALUE; } - raw_mapVariableExp = symbol_16; + raw_mapOperatorCallExp = symbol_16; } else { - raw_mapVariableExp = ValueUtil.FALSE_VALUE; + raw_mapOperatorCallExp = ValueUtil.FALSE_VALUE; } - symbol_17 = raw_mapVariableExp; + symbol_17 = raw_mapOperatorCallExp; } else { symbol_17 = ValueUtil.FALSE_VALUE; } - raw_mapOperationCallExp_Operation = symbol_17; + raw_mapNavigationOrAttributeCallExp_Helper = symbol_17; } else { - raw_mapOperationCallExp_Operation = ValueUtil.FALSE_VALUE; + raw_mapNavigationOrAttributeCallExp_Helper = ValueUtil.FALSE_VALUE; } - symbol_18 = raw_mapOperationCallExp_Operation; + symbol_18 = raw_mapNavigationOrAttributeCallExp_Helper; } else { symbol_18 = ValueUtil.FALSE_VALUE; } - raw_mapNavigationOrAttributeCallExp_Helper = symbol_18; + raw_mapIntegerExp = symbol_18; } else { - raw_mapNavigationOrAttributeCallExp_Helper = ValueUtil.FALSE_VALUE; + raw_mapIntegerExp = ValueUtil.FALSE_VALUE; } - symbol_19 = raw_mapNavigationOrAttributeCallExp_Helper; + symbol_19 = raw_mapIntegerExp; } else { symbol_19 = ValueUtil.FALSE_VALUE; } - raw_mapStringExp = symbol_19; + raw_mapOperationCallExp_Operation = symbol_19; } else { - raw_mapStringExp = ValueUtil.FALSE_VALUE; + raw_mapOperationCallExp_Operation = ValueUtil.FALSE_VALUE; } - symbol_20 = raw_mapStringExp; + symbol_20 = raw_mapOperationCallExp_Operation; } else { symbol_20 = ValueUtil.FALSE_VALUE; } - raw_mapOperatorCallExp = symbol_20; + raw_mapIfExp = symbol_20; } else { - raw_mapOperatorCallExp = ValueUtil.FALSE_VALUE; + raw_mapIfExp = ValueUtil.FALSE_VALUE; } - symbol_21 = raw_mapOperatorCallExp; + symbol_21 = raw_mapIfExp; } else { symbol_21 = ValueUtil.FALSE_VALUE; } - raw_mapNavigationOrAttributeCallExp_Property = symbol_21; + raw_mapVariableExp = symbol_21; } else { - raw_mapNavigationOrAttributeCallExp_Property = ValueUtil.FALSE_VALUE; + raw_mapVariableExp = ValueUtil.FALSE_VALUE; } if (debugInvocations) { - AbstractTransformer.INVOCATIONS.println((raw_mapNavigationOrAttributeCallExp_Property ? "done " : "fail ") + "MAP_mDmapOclExpression_success"); + AbstractTransformer.INVOCATIONS.println((raw_mapVariableExp ? "done " : "fail ") + "MAP_mDmapOclExpression_success"); } - return raw_mapNavigationOrAttributeCallExp_Property; + return raw_mapVariableExp; } /** @@ -6768,8 +6830,8 @@ public class ATL2QVTr extends AbstractTransformer * check when_mapOclExpression.success; * var atlParent : OCL::OperationCallExp[1] := atlArgument.parentOperation; * var when_mapOperationCallExp : trace_ATL2QVTr::DmapOclExpression[1] := atlParent.DmapOclExpression; - * check var qvtrParent : OperationCallExp[1] := when_mapOperationCallExp.d2qvtrExpression; * check when_mapOperationCallExp.success; + * check var qvtrParent : OperationCallExp[1] := when_mapOperationCallExp.d2qvtrExpression; * var qvtrArgument : OCLExpression[1] := when_mapOclExpression.d2qvtrExpression; * set qvtrParent.ownedArguments := qvtrArgument; * set trace.t1atlParent := atlParent; @@ -6812,18 +6874,18 @@ public class ATL2QVTr extends AbstractTransformer if (DmapOclExpression_0 == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - @SuppressWarnings("null") - final /*@Thrown*/ @NonNull OCLExpression temp1_qvtrParent = DmapOclExpression_0.getD2qvtrExpression(); - final /*@NonInvalid*/ boolean symbol_3 = temp1_qvtrParent instanceof org.eclipse.ocl.pivot.OperationCallExp; + final /*@Thrown*/ @Nullable Boolean success_0 = DmapOclExpression_0.getSuccess(); + if (success_0 == null) { + throw new InvalidEvaluationException("Null if condition"); + } /*@Thrown*/ @Nullable Boolean symbol_13; - if (symbol_3) { - final /*@Thrown*/ org.eclipse.ocl.pivot.@NonNull OperationCallExp symbol_4 = (org.eclipse.ocl.pivot.OperationCallExp)temp1_qvtrParent; - final /*@Thrown*/ @Nullable Boolean success_0 = DmapOclExpression_0.getSuccess(); - if (success_0 == null) { - throw new InvalidEvaluationException("Null if condition"); - } + if (success_0) { + @SuppressWarnings("null") + final /*@Thrown*/ @NonNull OCLExpression temp1_qvtrParent = DmapOclExpression_0.getD2qvtrExpression(); + final /*@NonInvalid*/ boolean symbol_3 = temp1_qvtrParent instanceof org.eclipse.ocl.pivot.OperationCallExp; /*@Thrown*/ @Nullable Boolean symbol_12; - if (success_0) { + if (symbol_3) { + final /*@Thrown*/ org.eclipse.ocl.pivot.@NonNull OperationCallExp symbol_4 = (org.eclipse.ocl.pivot.OperationCallExp)temp1_qvtrParent; @SuppressWarnings("null") final /*@Thrown*/ @NonNull OCLExpression d2qvtrExpression = DmapOclExpression.getD2qvtrExpression(); // mapping statements @@ -7768,78 +7830,64 @@ public class ATL2QVTr extends AbstractTransformer /** * - * map mTmapVariableExp__referredVariable__Helper_success__p1 in ATL2QVTr { + * map mTmapVariableExp__referredVariable__Helper_success_p1 in ATL2QVTr { * guard:middle trace : trace_ATL2QVTr::TmapVariableExp_referredVariable_Helper[1] success success; * var atlVariable : OCL::VariableDeclaration[1] := trace.t1atlVariable; * check atlVariable.varName = * 'self'; * var dispatcher : trace_ATL2QVTr::DmapVariableExp_referredVariable[1] := trace.dispatcher; * var atlExpression : OCL::VariableExp[1] := dispatcher.d1atlExpression; - * var atlHelper : ATL::Helper[?] := this.getHelper(atlExpression); - * var atlHelper1 : ATL::Helper[1] := atlHelper; - * var when_mapVariable : trace_ATL2QVTr::TmapVariable[1] := atlHelper1.TmapVariable; + * var atlHelper : ATL::Helper[1] := this.getHelper(atlExpression); + * var when_mapVariable : trace_ATL2QVTr::TmapVariable[1] := atlHelper.TmapVariable; * set dispatcher.success := true; * set dispatcher.result := trace; - * set trace.t1atlHelper := atlHelper1; * */ - protected boolean MAP_mTmapVariableExp__referredVariable__Helper_success__p1(final /*@NonInvalid*/ @NonNull TmapVariableExp_referredVariable_Helper trace_69) { + protected boolean MAP_mTmapVariableExp__referredVariable__Helper_success_p1(final /*@NonInvalid*/ @NonNull TmapVariableExp_referredVariable_Helper trace_69) { if (debugInvocations) { - AbstractTransformer.INVOCATIONS.println("invoke MAP_mTmapVariableExp__referredVariable__Helper_success__p1" + ", " + trace_69); + AbstractTransformer.INVOCATIONS.println("invoke MAP_mTmapVariableExp__referredVariable__Helper_success_p1" + ", " + trace_69); } @SuppressWarnings("null") final /*@NonInvalid*/ org.eclipse.m2m.atl.common.OCL.@NonNull VariableDeclaration t1atlVariable = trace_69.getT1atlVariable(); @SuppressWarnings("null") final /*@NonInvalid*/ @NonNull String varName = t1atlVariable.getVarName(); final /*@NonInvalid*/ boolean eq = varName.equals(STR_self); - /*@Thrown*/ @Nullable Boolean symbol_6; + /*@Thrown*/ @Nullable Boolean symbol_4; if (eq) { @SuppressWarnings("null") final /*@NonInvalid*/ @NonNull DmapVariableExp_referredVariable dispatcher_0 = trace_69.getDispatcher(); @SuppressWarnings("null") final /*@NonInvalid*/ org.eclipse.m2m.atl.common.OCL.@NonNull VariableExp d1atlExpression = dispatcher_0.getD1atlExpression(); - final /*@NonInvalid*/ @Nullable Helper getHelper = ((FUN_getHelper)FTOR_getHelper.getUniqueComputation(this, d1atlExpression)).instance; - final /*@NonInvalid*/ boolean symbol_0 = getHelper != null; - /*@Thrown*/ @Nullable Boolean raw_atlHelper1; + final /*@NonInvalid*/ @NonNull Helper getHelper = ((FUN_getHelper)FTOR_getHelper.getUniqueComputation(this, d1atlExpression)).instance; + final /*@NonInvalid*/ @Nullable TmapVariable TmapVariable = OPPOSITE_OF_TmapVariable_t1atlVariable.get(getHelper); + final /*@NonInvalid*/ boolean symbol_0 = TmapVariable != null; + /*@Thrown*/ @Nullable Boolean raw_when_mapVariable; if (symbol_0) { - if (getHelper == null) { + if (TmapVariable == null) { throw new InvalidEvaluationException("Null where non-null value required"); } - final /*@Thrown*/ @Nullable TmapVariable TmapVariable = OPPOSITE_OF_TmapVariable_t1atlVariable.get(getHelper); - final /*@Thrown*/ boolean symbol_1 = TmapVariable != null; - /*@Thrown*/ @Nullable Boolean raw_when_mapVariable; - if (symbol_1) { - if (TmapVariable == null) { - throw new InvalidEvaluationException("Null where non-null value required"); - } - // mapping statements - dispatcher_0.setSuccess((Boolean)ValueUtil.TRUE_VALUE); - dispatcher_0.setResult(trace_69); - trace_69.setT1atlHelper(getHelper); - final /*@Thrown*/ @Nullable Boolean mTmapVariableExp__referredVariable__Helper_success__p1 = ValueUtil.TRUE_VALUE; - raw_when_mapVariable = mTmapVariableExp__referredVariable__Helper_success__p1; - } - else { - raw_when_mapVariable = ValueUtil.FALSE_VALUE; - } - raw_atlHelper1 = raw_when_mapVariable; + // mapping statements + dispatcher_0.setSuccess((Boolean)ValueUtil.TRUE_VALUE); + dispatcher_0.setResult(trace_69); + final /*@Thrown*/ @Nullable Boolean mTmapVariableExp__referredVariable__Helper_success_p1 = ValueUtil.TRUE_VALUE; + raw_when_mapVariable = mTmapVariableExp__referredVariable__Helper_success_p1; } else { - raw_atlHelper1 = ValueUtil.FALSE_VALUE; + raw_when_mapVariable = ValueUtil.FALSE_VALUE; } - symbol_6 = raw_atlHelper1; + symbol_4 = raw_when_mapVariable; } else { - symbol_6 = ValueUtil.FALSE_VALUE; + symbol_4 = ValueUtil.FALSE_VALUE; } - trace_69.setSuccess(symbol_6); - if (symbol_6) { - objectManager.assigned(trace_69, trace_ATL2QVTrPackage.Literals.IMAP_VARIABLE_EXP_REFERRED_VARIABLE__SUCCESS, symbol_6); + trace_69.setSuccess(symbol_4); + if (symbol_4) { + objectManager.assigned(trace_69, trace_ATL2QVTrPackage.Literals.IMAP_VARIABLE_EXP_REFERRED_VARIABLE__SUCCESS, symbol_4); } if (debugInvocations) { - AbstractTransformer.INVOCATIONS.println((symbol_6 ? "done " : "fail ") + "MAP_mTmapVariableExp__referredVariable__Helper_success__p1"); + AbstractTransformer.INVOCATIONS.println((symbol_4 ? "done " : "fail ") + "MAP_mTmapVariableExp__referredVariable__Helper_success_p1"); } - return symbol_6; + return symbol_4; } /** @@ -7911,11 +7959,13 @@ public class ATL2QVTr extends AbstractTransformer /** * * map mTmapVariableExp__referredVariable__Helper_t2qvtrVa_p3 in ATL2QVTr { - * guard:middle trace : trace_ATL2QVTr::TmapVariableExp_referredVariable_Helper[1]; + * + * guard:middle trace : trace_ATL2QVTr::TmapVariableExp_referredVariable_Helper[1]; * check trace.success; * var dispatcher : trace_ATL2QVTr::DmapVariableExp_referredVariable[1] := trace.dispatcher; - * var atlHelper : ATL::Helper[1] := trace.t1atlHelper; + * var atlExpression : OCL::VariableExp[1] := dispatcher.d1atlExpression; * var qvtrExpression : VariableExp[1] := dispatcher.d2qvtrExpression; + * var atlHelper : ATL::Helper[1] := this.getHelper(atlExpression); * var when_mapVariable : trace_ATL2QVTr::TmapVariable[1] := atlHelper.TmapVariable; * var qvtrVariable : VariableDeclaration[1] := when_mapVariable.t2qvtrVariable; * set qvtrExpression.referredVariable := qvtrVariable; @@ -7935,10 +7985,11 @@ public class ATL2QVTr extends AbstractTransformer @SuppressWarnings("null") final /*@NonInvalid*/ @NonNull DmapVariableExp_referredVariable dispatcher_0 = trace_70.getDispatcher(); @SuppressWarnings("null") - final /*@NonInvalid*/ @NonNull Helper t1atlHelper = trace_70.getT1atlHelper(); + final /*@NonInvalid*/ org.eclipse.m2m.atl.common.OCL.@NonNull VariableExp d1atlExpression = dispatcher_0.getD1atlExpression(); @SuppressWarnings("null") final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull VariableExp d2qvtrExpression = dispatcher_0.getD2qvtrExpression(); - final /*@NonInvalid*/ @Nullable TmapVariable TmapVariable = OPPOSITE_OF_TmapVariable_t1atlVariable.get(t1atlHelper); + final /*@NonInvalid*/ @NonNull Helper getHelper = ((FUN_getHelper)FTOR_getHelper.getUniqueComputation(this, d1atlExpression)).instance; + final /*@NonInvalid*/ @Nullable TmapVariable TmapVariable = OPPOSITE_OF_TmapVariable_t1atlVariable.get(getHelper); final /*@NonInvalid*/ boolean symbol_0 = TmapVariable != null; /*@Thrown*/ @Nullable Boolean raw_when_mapVariable; if (symbol_0) { @@ -7970,11 +8021,13 @@ public class ATL2QVTr extends AbstractTransformer /** * * map mTmapVariableExp__referredVariable__Helper__type_p4 in ATL2QVTr { - * guard:middle trace : trace_ATL2QVTr::TmapVariableExp_referredVariable_Helper[1]; + * + * guard:middle trace : trace_ATL2QVTr::TmapVariableExp_referredVariable_Helper[1]; * check trace.success; * var dispatcher : trace_ATL2QVTr::DmapVariableExp_referredVariable[1] := trace.dispatcher; - * var atlHelper : ATL::Helper[1] := trace.t1atlHelper; + * var atlExpression : OCL::VariableExp[1] := dispatcher.d1atlExpression; * var qvtrExpression : VariableExp[1] := dispatcher.d2qvtrExpression; + * var atlHelper : ATL::Helper[1] := this.getHelper(atlExpression); * var when_mapVariable : trace_ATL2QVTr::TmapVariable[1] := atlHelper.TmapVariable; * var qvtrVariable : VariableDeclaration[1] := when_mapVariable.t2qvtrVariable; * var type : Type[?] := qvtrVariable.type; @@ -7994,10 +8047,11 @@ public class ATL2QVTr extends AbstractTransformer @SuppressWarnings("null") final /*@NonInvalid*/ @NonNull DmapVariableExp_referredVariable dispatcher_0 = trace_71.getDispatcher(); @SuppressWarnings("null") - final /*@NonInvalid*/ @NonNull Helper t1atlHelper = trace_71.getT1atlHelper(); + final /*@NonInvalid*/ org.eclipse.m2m.atl.common.OCL.@NonNull VariableExp d1atlExpression = dispatcher_0.getD1atlExpression(); @SuppressWarnings("null") final /*@NonInvalid*/ org.eclipse.ocl.pivot.@NonNull VariableExp d2qvtrExpression = dispatcher_0.getD2qvtrExpression(); - final /*@NonInvalid*/ @Nullable TmapVariable TmapVariable = OPPOSITE_OF_TmapVariable_t1atlVariable.get(t1atlHelper); + final /*@NonInvalid*/ @NonNull Helper getHelper = ((FUN_getHelper)FTOR_getHelper.getUniqueComputation(this, d1atlExpression)).instance; + final /*@NonInvalid*/ @Nullable TmapVariable TmapVariable = OPPOSITE_OF_TmapVariable_t1atlVariable.get(getHelper); final /*@NonInvalid*/ boolean symbol_0 = TmapVariable != null; /*@Thrown*/ @Nullable Boolean raw_when_mapVariable; if (symbol_0) { diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/AbstractScheduleManager.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/AbstractScheduleManager.java index b630aa85e..02773d2e1 100644 --- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/AbstractScheduleManager.java +++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/AbstractScheduleManager.java @@ -61,6 +61,7 @@ import org.eclipse.qvtd.pivot.qvtbase.graphs.DOTStringBuilder; import org.eclipse.qvtd.pivot.qvtbase.graphs.GraphMLStringBuilder; import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseUtil; import org.eclipse.qvtd.pivot.qvtbase.utilities.StandardLibraryHelper; +import org.eclipse.qvtd.pivot.qvtbase.utilities.TraceHelper; import org.eclipse.qvtd.pivot.qvtcore.analysis.DomainUsageAnalysis; import org.eclipse.qvtd.pivot.qvtcore.analysis.RootDomainUsageAnalysis; import org.eclipse.qvtd.pivot.qvtschedule.ClassDatum; @@ -88,6 +89,7 @@ public abstract class AbstractScheduleManager implements ScheduleManager protected final @NonNull ScheduleModel scheduleModel; protected final @NonNull EnvironmentFactory environmentFactory; protected final @NonNull NameGenerator nameGenerator; + private @Nullable TraceHelper traceHelper = null; private CompilerOptions.@Nullable StepOptions schedulerOptions; protected final @NonNull RootDomainUsageAnalysis domainUsageAnalysis; protected final @NonNull DatumCaches datumCaches; @@ -680,6 +682,15 @@ public abstract class AbstractScheduleManager implements ScheduleManager } @Override + public @NonNull TraceHelper getTraceHelper() { + TraceHelper traceHelper2 = traceHelper; + if (traceHelper2 == null) { + traceHelper = traceHelper2 = new TraceHelper(environmentFactory); + } + return traceHelper2; + } + + @Override public @NonNull TypedModel getTraceTypedModel() { return domainUsageAnalysis.getTraceTypedModel(); } diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/ScheduleManager.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/ScheduleManager.java index f4bb0e459..171fd30ac 100644 --- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/ScheduleManager.java +++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/ScheduleManager.java @@ -31,6 +31,7 @@ import org.eclipse.qvtd.pivot.qvtbase.Rule; import org.eclipse.qvtd.pivot.qvtbase.Transformation; import org.eclipse.qvtd.pivot.qvtbase.TypedModel; import org.eclipse.qvtd.pivot.qvtbase.utilities.StandardLibraryHelper; +import org.eclipse.qvtd.pivot.qvtbase.utilities.TraceHelper; import org.eclipse.qvtd.pivot.qvtcore.analysis.RootDomainUsageAnalysis; import org.eclipse.qvtd.pivot.qvtschedule.ClassDatum; import org.eclipse.qvtd.pivot.qvtschedule.MappingRegion; @@ -102,6 +103,7 @@ public interface ScheduleManager @NonNull StandardLibraryHelper getStandardLibraryHelper(); @NonNull PropertyDatum getSuccessPropertyDatum(@NonNull Property successProperty); @NonNull Iterable<@NonNull ClassDatum> getSuperClassDatums(@NonNull ClassDatum classDatum); + @NonNull TraceHelper getTraceHelper(); @NonNull TypedModel getTraceTypedModel(); @NonNull Iterable<@NonNull TransformationAnalysis> getTransformationAnalyses(); @NonNull TransformationAnalysis getTransformationAnalysis(@NonNull Transformation transformation); diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/QVTr2QVTs.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/QVTr2QVTs.java index 7d974ffcf..c6f3cdaa3 100644 --- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/QVTr2QVTs.java +++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/QVTr2QVTs.java @@ -576,12 +576,6 @@ public class QVTr2QVTs extends AbstractQVTb2QVTs // scheduleManager.analyzeSourceModel(); // - // Use the QVTr2QVTsVisitor in a tree descent to stnthesize the QVTs elements that correspond directly to QVTr elements. - // Inter-relation elements are accumulated by InvocationAnalysis instances in the RuleAnalysis2TraceGroup. - // - QVTr2QVTsVisitor qvtr2qvtsVisitor = new QVTr2QVTsVisitor(this); - qvtr2qvtsVisitor.transform(source, target); - // Iterable<@NonNull TransformationAnalysis> transformationAnalyses = scheduleManager2.getOrderedTransformationAnalyses(); List<@NonNull TransformationAnalysis2TracePackage> transformationAnalysis2tracePackages = new ArrayList<>(); for (@NonNull TransformationAnalysis transformationAnalysis : transformationAnalyses) { @@ -594,6 +588,12 @@ public class QVTr2QVTs extends AbstractQVTb2QVTs transformationAnalysis2tracePackage.createRuleAnalysis2TraceGroups(); } // + // Use the QVTr2QVTsVisitor in a tree descent to synthesize the QVTs elements that correspond directly to QVTr elements. + // Inter-relation elements are accumulated by InvocationAnalysis instances in the RuleAnalysis2TraceGroup. + // + QVTr2QVTsVisitor qvtr2qvtsVisitor = new QVTr2QVTsVisitor(this); + qvtr2qvtsVisitor.transform(source, target); + // // Analyze the trace classes and interfaces to determine their inheritance and properties // for (@NonNull TransformationAnalysis2TracePackage transformationAnalysis2tracePackage : transformationAnalysis2tracePackages) { diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationAnalysis2TraceGroup.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationAnalysis2TraceGroup.java index 1ff403eda..e47c7262b 100644 --- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationAnalysis2TraceGroup.java +++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationAnalysis2TraceGroup.java @@ -13,6 +13,7 @@ package org.eclipse.qvtd.compiler.internal.qvtr2qvts.trace; import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.ocl.pivot.Variable; import org.eclipse.ocl.pivot.utilities.ClassUtil; import org.eclipse.qvtd.compiler.CompilerChainException; import org.eclipse.qvtd.compiler.internal.qvtb2qvts.HeadNodeGroup; @@ -69,6 +70,14 @@ public class RelationAnalysis2TraceGroup extends RuleAnalysis2TraceGroup relationAnalysis2traceInterface = traceInterfaceName != null ? new RelationAnalysis2TraceInterface(this, traceInterfaceName) : null; relationAnalysis2dispatchClass = dispatchClassName != null ? new RelationAnalysis2DispatchClass(this, dispatchClassName) : null; relationAnalysis2invocationClass = invocationClassName != null ? new RelationAnalysis2InvocationClass(this, invocationClassName) : null; + // + // Set the trace variable type + // + RelationAnalysis2TraceClass relationAnalysis2traceClass2 = relationAnalysis2traceClass; + if (relationAnalysis2traceClass2 != null) { + Variable traceVariable = QVTrelationUtil.getTraceVariable(relation); + traceVariable.setType(relationAnalysis2traceClass2.getMiddleClass()); + } } /* private void analyzeInvocationVariable(@NonNull OCLExpression invocation) { diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationalTransformationAnalysis2TracePackage.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationalTransformationAnalysis2TracePackage.java index df1837f79..9d30dee81 100644 --- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationalTransformationAnalysis2TracePackage.java +++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationalTransformationAnalysis2TracePackage.java @@ -11,7 +11,6 @@ package org.eclipse.qvtd.compiler.internal.qvtr2qvts.trace; import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.jdt.annotation.NonNull; @@ -22,8 +21,8 @@ import org.eclipse.qvtd.compiler.internal.qvtb2qvts.trace.TransformationAnalysis import org.eclipse.qvtd.compiler.internal.qvtr2qvts.QVTrelationNameGenerator; import org.eclipse.qvtd.compiler.internal.qvtr2qvts.QVTrelationScheduleManager; import org.eclipse.qvtd.pivot.qvtbase.Rule; +import org.eclipse.qvtd.pivot.qvtbase.utilities.TraceHelper; import org.eclipse.qvtd.runtime.evaluation.AbstractTransformer; -import org.eclipse.qvtd.runtime.qvttrace.QVTtracePackage; public class RelationalTransformationAnalysis2TracePackage extends TransformationAnalysis2TracePackage { @@ -50,12 +49,8 @@ public class RelationalTransformationAnalysis2TracePackage extends Transformatio public org.eclipse.ocl.pivot.@NonNull Class getDispatchClass() { org.eclipse.ocl.pivot.Class dispatchClass2 = dispatchClass; if (dispatchClass2 == null) { - EnvironmentFactory environmentFactory = scheduleManager.getEnvironmentFactory(); - EPackage traceEPackage = getTraceEPackage(); - EClass dispatchEClass = (EClass) traceEPackage.getEClassifier(QVTtracePackage.Literals.DISPATCH.getName()); - dispatchClass2 = environmentFactory.getMetamodelManager().getASOfEcore(org.eclipse.ocl.pivot.Class.class, dispatchEClass); - assert dispatchClass2 != null; - dispatchClass = dispatchClass2; + TraceHelper traceHelper = scheduleManager.getTraceHelper(); + dispatchClass = dispatchClass2 = traceHelper.getDispatchClass(); } return dispatchClass2; } @@ -63,12 +58,8 @@ public class RelationalTransformationAnalysis2TracePackage extends Transformatio public org.eclipse.ocl.pivot.@NonNull Class getExecutionClass() { org.eclipse.ocl.pivot.Class executionClass2 = executionClass; if (executionClass2 == null) { - EnvironmentFactory environmentFactory = scheduleManager.getEnvironmentFactory(); - EPackage traceEPackage = getTraceEPackage(); - EClass traceEClass = (EClass) traceEPackage.getEClassifier(QVTtracePackage.Literals.EXECUTION.getName()); - executionClass2 = environmentFactory.getMetamodelManager().getASOfEcore(org.eclipse.ocl.pivot.Class.class, traceEClass); - assert executionClass2 != null; - executionClass = executionClass2; + TraceHelper traceHelper = scheduleManager.getTraceHelper(); + executionClass = executionClass2 = traceHelper.getExecutionClass(); } return executionClass2; } @@ -88,7 +79,7 @@ public class RelationalTransformationAnalysis2TracePackage extends Transformatio if (traceEPackage2 == null) { // FIXME ?? use QVTTracePackage.eINSTANCE if it is registered and ECLIPSE_IS_RUNNING EnvironmentFactory environmentFactory = scheduleManager.getEnvironmentFactory(); - URI traceURI = URI.createPlatformResourceURI(AbstractTransformer.TRACE_MODEL, true); + URI traceURI = AbstractTransformer.TRACE_MODEL_URI; Resource resource = environmentFactory.getResourceSet().getResource(traceURI, true); traceEPackage2 = (EPackage) resource.getContents().get(0); assert traceEPackage2 != null; diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/QVTbasePackage.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/QVTbasePackage.java index c5c298c3d..1840098a7 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/QVTbasePackage.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/QVTbasePackage.java @@ -509,7 +509,7 @@ public interface QVTbasePackage extends EPackage { int FUNCTION__UNSPECIALIZED_ELEMENT = PivotPackage.OPERATION__UNSPECIALIZED_ELEMENT; /** - * The feature id for the '<em><b>Body Expression</b></em>' containment reference. + * The feature id for the '<em><b>Body Expression</b></em>' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/QVTbasePivotStandaloneSetup.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/QVTbasePivotStandaloneSetup.java index 6941eaed4..26a33b41e 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/QVTbasePivotStandaloneSetup.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/QVTbasePivotStandaloneSetup.java @@ -17,7 +17,6 @@ import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; import org.eclipse.ocl.pivot.utilities.PivotStandaloneSetup; import org.eclipse.qvtd.pivot.qvtbase.model.QVTbaseLibrary; import org.eclipse.qvtd.pivot.qvtbase.scoping.QVTbasePivotScoping; -import org.eclipse.qvtd.runtime.qvttrace.QVTtracePackage; import com.google.inject.Guice; import com.google.inject.Injector; @@ -70,8 +69,11 @@ public class QVTbasePivotStandaloneSetup //implements ISetup "xmi", new org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl()); if (!EPackage.Registry.INSTANCE.containsKey(QVTbasePackage.eNS_URI)) EPackage.Registry.INSTANCE.put(QVTbasePackage.eNS_URI, QVTbasePackage.eINSTANCE); - if (!EPackage.Registry.INSTANCE.containsKey(QVTtracePackage.eNS_URI)) - EPackage.Registry.INSTANCE.put(QVTtracePackage.eNS_URI, QVTtracePackage.eINSTANCE); + // + // There should never be any references to QVTtracePackage.eNS_URI since this is associated with the invalid + // dynamic-extends-generated use case identified in Bug 532561. QVTtrace is therefore deliberately unregistered. + // + // assert !EPackage.Registry.INSTANCE.containsKey(QVTtracePackage.eNS_URI); Injector injector = createInjector(); register(injector); diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/IllegalTraceException.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/IllegalTraceException.java new file mode 100644 index 000000000..dd2b09f6d --- /dev/null +++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/IllegalTraceException.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2018 Willink Transformations and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * E.D.Willink - initial API and implementation + *******************************************************************************/ +package org.eclipse.qvtd.pivot.qvtbase.utilities; + +/** + * An IllegalTraceException is thrown if the attempt to load artefacts from QVTtrace.ecore + * fails. This should only happen during development. + */ +@SuppressWarnings("serial") +public class IllegalTraceException extends IllegalStateException +{ + public IllegalTraceException(String string) { + super(string); + } + + public IllegalTraceException(String string, Throwable e) { + super(string, e); + } +}
\ No newline at end of file diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/TraceHelper.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/TraceHelper.java new file mode 100644 index 000000000..66ebcec2d --- /dev/null +++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/TraceHelper.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 2018 Willink Transformations and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * E.D.Willink - initial API and implementation + *******************************************************************************/ +package org.eclipse.qvtd.pivot.qvtbase.utilities; + +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.ocl.pivot.utilities.ClassUtil; +import org.eclipse.ocl.pivot.utilities.EnvironmentFactory; +import org.eclipse.ocl.pivot.utilities.EnvironmentFactory.EnvironmentFactoryExtension2; +import org.eclipse.qvtd.runtime.evaluation.AbstractTransformer; +import org.eclipse.qvtd.runtime.qvttrace.QVTtracePackage; +import org.eclipse.ocl.pivot.utilities.NameUtil; +import org.eclipse.ocl.pivot.utilities.PivotUtil; + +/** + * TraceHelper provides helper routines to assist in use of the QVTtrace Metamodel. + */ +public class TraceHelper +{ + protected final @NonNull EnvironmentFactoryExtension2 environmentFactory; + private org.eclipse.ocl.pivot.@Nullable Package tracePackage = null; + private org.eclipse.ocl.pivot.@Nullable Class dispatchClass = null; + private org.eclipse.ocl.pivot.@Nullable Class executionClass = null; + private org.eclipse.ocl.pivot.@Nullable Class traceElementClass = null; + + public TraceHelper(@NonNull EnvironmentFactory environmentFactory) { + this.environmentFactory = (EnvironmentFactoryExtension2) environmentFactory; + } + + public org.eclipse.ocl.pivot.@NonNull Class getDispatchClass() { + org.eclipse.ocl.pivot.Class dispatchClass2 = dispatchClass; + if (dispatchClass2 == null) { + String className = QVTtracePackage.Literals.DISPATCH.getName(); + Iterable<org.eclipse.ocl.pivot.@NonNull Class> ownedClasses = PivotUtil.getOwnedClasses(getTracePackage()); + dispatchClass = dispatchClass2 = ClassUtil.nonNullState(NameUtil.getNameable(ownedClasses, className)); + } + return dispatchClass2; + } + + public org.eclipse.ocl.pivot.@NonNull Class getExecutionClass() { + org.eclipse.ocl.pivot.Class executionClass2 = executionClass; + if (executionClass2 == null) { + String className = QVTtracePackage.Literals.EXECUTION.getName(); + Iterable<org.eclipse.ocl.pivot.@NonNull Class> ownedClasses = PivotUtil.getOwnedClasses(getTracePackage()); + executionClass = executionClass2 = ClassUtil.nonNullState(NameUtil.getNameable(ownedClasses, className)); + } + return executionClass2; + } + + public org.eclipse.ocl.pivot.@NonNull Class getTraceElementClass() { + org.eclipse.ocl.pivot.Class traceElementClass2 = traceElementClass; + if (traceElementClass2 == null) { + String className = QVTtracePackage.Literals.TRACE_ELEMENT.getName(); + Iterable<org.eclipse.ocl.pivot.@NonNull Class> ownedClasses = PivotUtil.getOwnedClasses(getTracePackage()); + traceElementClass = traceElementClass2 = ClassUtil.nonNullState(NameUtil.getNameable(ownedClasses, className)); + } + return traceElementClass2; + } + + public org.eclipse.ocl.pivot.@NonNull Package getTracePackage() { + org.eclipse.ocl.pivot.@Nullable Package tracePackage2 = tracePackage; + if (tracePackage2 == null) { + // + // NB See Bug 532561, we must not load a generated version of QVTtrace.ecore to avoid + // dynamic-extends-generated hazards for interpreted execution. For compiled execution + // the QVTtrace.ecore references resolve to generated eventually anyway. + // + Resource traceResource = environmentFactory.getResourceSet().getResource(AbstractTransformer.TRACE_MODEL_URI, true); + if ((traceResource == null) || !(traceResource.getErrors().isEmpty()) || (traceResource.getContents().size() != 1)) { + throw new IllegalTraceException("Failed to load '" + AbstractTransformer.TRACE_MODEL_URI + "'"); + } + EPackage traceEPackage = (EPackage) traceResource.getContents().get(0); + try { + tracePackage = tracePackage2 = environmentFactory.getASOf(org.eclipse.ocl.pivot.Package.class, traceEPackage); + } catch (Throwable e) { + throw new IllegalTraceException("Failed to create Pivot version of '" + AbstractTransformer.TRACE_MODEL_URI + "'", e); + } + if (tracePackage2 == null) { + throw new IllegalTraceException("Failed to create Pivot version of '" + AbstractTransformer.TRACE_MODEL_URI + "'"); + } + } + return tracePackage2; + } +}
\ No newline at end of file diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationHelper.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationHelper.java index 34d32d968..6cf752c79 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationHelper.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationHelper.java @@ -26,6 +26,7 @@ import org.eclipse.qvtd.pivot.qvtbase.Pattern; import org.eclipse.qvtd.pivot.qvtbase.QVTbaseFactory; import org.eclipse.qvtd.pivot.qvtbase.TypedModel; import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseHelper; +import org.eclipse.qvtd.pivot.qvtbase.utilities.TraceHelper; import org.eclipse.qvtd.pivot.qvtrelation.DomainPattern; import org.eclipse.qvtd.pivot.qvtrelation.Key; import org.eclipse.qvtd.pivot.qvtrelation.QVTrelationFactory; @@ -40,7 +41,6 @@ import org.eclipse.qvtd.pivot.qvttemplate.ObjectTemplateExp; import org.eclipse.qvtd.pivot.qvttemplate.PropertyTemplateItem; import org.eclipse.qvtd.pivot.qvttemplate.QVTtemplateFactory; import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp; - import com.google.common.collect.Iterables; /** @@ -191,12 +191,12 @@ public class QVTrelationHelper extends QVTbaseHelper return asVariable; } - public @NonNull Variable createTraceClassVariable() { + public @NonNull Variable createTraceClassVariable(@NonNull TraceHelper traceHelper) { SharedVariable traceClassVariable; traceClassVariable = QVTrelationFactory.eINSTANCE.createSharedVariable(); traceClassVariable.setName(QVTrelationUtil.TRACE_CLASS_NAME); traceClassVariable.setIsImplicit(true); - setType(traceClassVariable, standardLibrary.getOclElementType(), true); // FIXME Type not known here ?? ancestral QVTTrace + setType(traceClassVariable, traceHelper.getTraceElementClass(), true); // Use an ancestral QVTTrace type since derived type not yet synthesized traceClassVariable.setOwnedInit(null); return traceClassVariable; } diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java index 5c4c24339..abafc7af0 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java @@ -38,6 +38,7 @@ import org.eclipse.qvtd.pivot.qvtbase.TypedModel; import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseEnvironmentFactory; import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseEnvironmentFactory.CreateStrategy; import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseUtil; +import org.eclipse.qvtd.pivot.qvtbase.utilities.TraceHelper; import org.eclipse.qvtd.pivot.qvtrelation.DomainPattern; import org.eclipse.qvtd.pivot.qvtrelation.Key; import org.eclipse.qvtd.pivot.qvtrelation.Relation; @@ -372,6 +373,7 @@ public class QVTrelationUtil extends QVTtemplateUtil */ public static boolean rewriteMissingTraceArtefacts(@NonNull EnvironmentFactory environmentFactory, @NonNull Resource asResource) { QVTrelationHelper helper = null; + TraceHelper traceHelper = null; for (TreeIterator<EObject> tit = asResource.getAllContents(); tit.hasNext(); ) { EObject eObject = tit.next(); if (eObject instanceof RelationalTransformation) { @@ -399,7 +401,10 @@ public class QVTrelationUtil extends QVTtemplateUtil if (helper == null) { helper = new QVTrelationHelper(environmentFactory); } - asRelation.getVariable().add(helper.createTraceClassVariable()); + if (traceHelper == null) { + traceHelper = new TraceHelper(environmentFactory); + } + asRelation.getVariable().add(helper.createTraceClassVariable(traceHelper)); } } } diff --git a/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/qvttrace/impl/QVTtracePackageImpl.java b/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/qvttrace/impl/QVTtracePackageImpl.java index 186e53c20..3a1a5d5d4 100644 --- a/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/qvttrace/impl/QVTtracePackageImpl.java +++ b/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/qvttrace/impl/QVTtracePackageImpl.java @@ -20,7 +20,8 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; - +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.qvtd.runtime.evaluation.AbstractTransformer; import org.eclipse.qvtd.runtime.qvttrace.Dispatch; import org.eclipse.qvtd.runtime.qvttrace.Execution; import org.eclipse.qvtd.runtime.qvttrace.QVTtraceFactory; @@ -318,4 +319,14 @@ public class QVTtracePackageImpl extends EPackageImpl implements QVTtracePackage createResource(eNS_URI); } + // + // The QVTtrace metamodel is extended by transformation-specific trace metamodels, whose superclass references must use the *.ecore form rather than + // the nsURI to avoid instance creation failures when using a dynamically loaded trace metamodel (See Bug 532561). The URI of the QVTtrace resource + // is therefore changed to the *.ecore form. All consumption is therefore persisted with a dynamic Ecore reference so that downstream dynamic + // consumers see a consistent dynamic model hierarchy. Generated consumers generate regardless. + // + @Override + protected Resource createResource(String uri) { + return super.createResource(AbstractTransformer.TRACE_MODEL_URI.toString()); + } } //QVTtracePackageImpl diff --git a/plugins/org.eclipse.qvtd.runtime/src/org/eclipse/qvtd/runtime/evaluation/AbstractTransformer.java b/plugins/org.eclipse.qvtd.runtime/src/org/eclipse/qvtd/runtime/evaluation/AbstractTransformer.java index c4b619ed5..68e6530a4 100644 --- a/plugins/org.eclipse.qvtd.runtime/src/org/eclipse/qvtd/runtime/evaluation/AbstractTransformer.java +++ b/plugins/org.eclipse.qvtd.runtime/src/org/eclipse/qvtd/runtime/evaluation/AbstractTransformer.java @@ -11,6 +11,7 @@ package org.eclipse.qvtd.runtime.evaluation; +import org.eclipse.emf.common.util.URI; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.pivot.ids.ClassId; @@ -34,6 +35,7 @@ public abstract class AbstractTransformer extends AbstractTransformerInternal public static final @NonNull String PLUGIN_ID = "org.eclipse.qvtd.runtime"; public static final @NonNull String TRACE_MODEL = "org.eclipse.qvtd.runtime/model/QVTtrace.ecore"; + public static final @NonNull URI TRACE_MODEL_URI = URI.createPlatformResourceURI(TRACE_MODEL, true); public static final @NonNull String TRACE_GENMODEL = "org.eclipse.qvtd.runtime/model/QVTtrace.genmodel"; public static final @NonNull String TRACE_GENMODEL_FRAGMENT = "//qvttrace"; diff --git a/plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/umlx2qvtr/UMLX2QVTr.java b/plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/umlx2qvtr/UMLX2QVTr.java index 3f35dab42..4d0f959fe 100644 --- a/plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/umlx2qvtr/UMLX2QVTr.java +++ b/plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/umlx2qvtr/UMLX2QVTr.java @@ -27,6 +27,7 @@ import org.eclipse.ocl.pivot.Element; import org.eclipse.ocl.pivot.Import; import org.eclipse.ocl.pivot.OCLExpression; import org.eclipse.ocl.pivot.Property; +import org.eclipse.ocl.pivot.Variable; import org.eclipse.ocl.pivot.internal.manager.PivotMetamodelManager; import org.eclipse.ocl.pivot.internal.utilities.EnvironmentFactoryInternal.EnvironmentFactoryInternalExtension; import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal; @@ -40,6 +41,7 @@ import org.eclipse.qvtd.pivot.qvtbase.FunctionParameter; import org.eclipse.qvtd.pivot.qvtbase.Rule; import org.eclipse.qvtd.pivot.qvtbase.TypedModel; import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseUtil; +import org.eclipse.qvtd.pivot.qvtbase.utilities.TraceHelper; import org.eclipse.qvtd.pivot.qvtrelation.Key; import org.eclipse.qvtd.pivot.qvtrelation.QVTrelationFactory; import org.eclipse.qvtd.pivot.qvtrelation.RelationModel; @@ -301,6 +303,7 @@ public class UMLX2QVTr extends QVTrelationHelper private final @NonNull Resource umlxResource; private final @NonNull Resource qvtrResource; + private final @NonNull TraceHelper traceHelper; private final @NonNull Map<@NonNull UMLXElement, @NonNull Element> umlxElement2qvtrElement = new HashMap<>(); private final @NonNull List<@NonNull PatternForest> patternForests = new ArrayList<>(); private final @NonNull List<@NonNull TxQueryNode> txQueryNodes = new ArrayList<>(); @@ -309,6 +312,7 @@ public class UMLX2QVTr extends QVTrelationHelper super(environmentFactory); this.umlxResource = umlxResource; this.qvtrResource = qvtrResource; + this.traceHelper = new TraceHelper(environmentFactory); } protected <T extends Element> @Nullable T basicGetQVTrElement(@NonNull Class<T> qvtrClass, @NonNull UMLXElement umlxElement) { @@ -323,6 +327,10 @@ public class UMLX2QVTr extends QVTrelationHelper return castElement; } + public @NonNull Variable createTraceClassVariable() { + return createTraceClassVariable(traceHelper); + } + @Override public @NonNull EnvironmentFactory getEnvironmentFactory() { return environmentFactory; diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/cs2as/QVTrelationCSContainmentVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/cs2as/QVTrelationCSContainmentVisitor.java index 3a525fb85..bb678e505 100644 --- a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/cs2as/QVTrelationCSContainmentVisitor.java +++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/cs2as/QVTrelationCSContainmentVisitor.java @@ -48,6 +48,7 @@ import org.eclipse.qvtd.pivot.qvtbase.Predicate; import org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage; import org.eclipse.qvtd.pivot.qvtbase.TypedModel; import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseUtil; +import org.eclipse.qvtd.pivot.qvtbase.utilities.TraceHelper; import org.eclipse.qvtd.pivot.qvtrelation.DomainPattern; import org.eclipse.qvtd.pivot.qvtrelation.Key; import org.eclipse.qvtd.pivot.qvtrelation.QVTrelationFactory; @@ -174,14 +175,21 @@ public class QVTrelationCSContainmentVisitor extends AbstractQVTrelationCSContai } } + private final @NonNull TraceHelper traceHelper; + public QVTrelationCSContainmentVisitor(@NonNull CS2ASConversion context) { super(context); + this.traceHelper = new TraceHelper(context.getEnvironmentFactory()); } public @NonNull QVTrelationHelper getHelper() { return (QVTrelationHelper) helper; } + public @NonNull TraceHelper getTraceHelper() { + return traceHelper; + } + /** * Traverse the templateExp hierarchy assigning all bound variables (TemplateExp::bindsTo and non-implicit CollectionTempateExp::rest) * to voundVariables. @@ -551,7 +559,7 @@ public class QVTrelationCSContainmentVisitor extends AbstractQVTrelationCSContai } Variable traceClassVariable = NameUtil.getNameable(pivotElement.getVariable(), QVTbaseUtil.TRACE_TYPED_MODEL_NAME); if (traceClassVariable == null) { - traceClassVariable = getHelper().createTraceClassVariable(); + traceClassVariable = getHelper().createTraceClassVariable(getTraceHelper()); } relationVariables.add(traceClassVariable); PivotUtilInternal.refreshList(pivotElement.getVariable(), relationVariables); diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdTraceModels.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdTraceModels.mwe2 index 18379143e..aecd48551 100644 --- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdTraceModels.mwe2 +++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdTraceModels.mwe2 @@ -53,6 +53,16 @@ Workflow { projectName = "org.eclipse.qvtd.runtime" genModelFile = "model/QVTtrace.genmodel" } +/* A Pivot version of QVTtrace is unhelpful since extensions must use the dynamic model when running + * in interpreted form. See Bug 532561. + component = GenerateOCLmetamodelXtend { resourceSet = qvttraceResourceSet + projectName = "org.eclipse.qvtd.runtime" + modelFile = "model/QVTtrace.ecore" + uri = "http://www.eclipse.org/qvt/2018/QVTtrace" + javaFolder = "emf-gen" + javaPackageName = "org.eclipse.qvtd.runtime.model" + javaClassName = "QVTtraceMetamodel" + } */ // component = GenerateModel { resourceSet = resourceSet skipOnErrors = true // genModel = "/org.eclipse.qvtd.pivot.qvtschedule/model/Schedule.genmodel" diff --git a/tests/org.eclipse.qvtd.atl.tests/models/families2persons/Families2Persons_expected.qvtras b/tests/org.eclipse.qvtd.atl.tests/models/families2persons/Families2Persons_expected.qvtras index e38eb07d4..a3234438d 100644 --- a/tests/org.eclipse.qvtd.atl.tests/models/families2persons/Families2Persons_expected.qvtras +++ b/tests/org.eclipse.qvtd.atl.tests/models/families2persons/Families2Persons_expected.qvtras @@ -140,7 +140,7 @@ </domain> <variable xsi:type="qvtr:TemplateVariable" xmi:id="8tM8f" name="s" type="pivot:Class platform:/resource/org.eclipse.qvtd.atl.tests/models/families2persons/Families.ecore.oclas#r2YVU"/> <variable xsi:type="qvtr:TemplateVariable" xmi:id="9tM8f" name="t" type="pivot:Class platform:/resource/org.eclipse.qvtd.atl.tests/models/families2persons/Persons.ecore.oclas#pzC6s"/> - <variable xsi:type="qvtr:SharedVariable" isImplicit="true" name="trace" type="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#zfDWR"/> + <variable xsi:type="qvtr:SharedVariable" isImplicit="true" name="trace" type="pivot:Class platform:/resource/org.eclipse.qvtd.runtime/model/QVTtrace.ecore.oclas#MdKgS"/> <when> <predicate> <conditionExpression xsi:type="pivot:OperationCallExp" name="isFemale" referredOperation="#N,BoB" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#XEMMs"> @@ -183,7 +183,7 @@ </domain> <variable xsi:type="qvtr:TemplateVariable" xmi:id="50ALF" name="s" type="pivot:Class platform:/resource/org.eclipse.qvtd.atl.tests/models/families2persons/Families.ecore.oclas#r2YVU"/> <variable xsi:type="qvtr:TemplateVariable" xmi:id="60ALF" name="t" type="pivot:Class platform:/resource/org.eclipse.qvtd.atl.tests/models/families2persons/Persons.ecore.oclas#q+x1v"/> - <variable xsi:type="qvtr:SharedVariable" isImplicit="true" name="trace" type="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#zfDWR"/> + <variable xsi:type="qvtr:SharedVariable" isImplicit="true" name="trace" type="pivot:Class platform:/resource/org.eclipse.qvtd.runtime/model/QVTtrace.ecore.oclas#MdKgS"/> <when> <predicate> <conditionExpression xsi:type="pivot:OperationCallExp" name="not" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#DH5kA" diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/families2persons/Families2Persons_expected.qvtras b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/families2persons/Families2Persons_expected.qvtras index e16465f19..579332263 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/families2persons/Families2Persons_expected.qvtras +++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/families2persons/Families2Persons_expected.qvtras @@ -140,7 +140,7 @@ </domain> <variable xsi:type="qvtr:TemplateVariable" xmi:id="8tM8f" name="s" type="pivot:Class Families.ecore.oclas#r2YVU"/> <variable xsi:type="qvtr:TemplateVariable" xmi:id="9tM8f" name="t" type="pivot:Class Persons.ecore.oclas#pzC6s"/> - <variable xsi:type="qvtr:SharedVariable" isImplicit="true" name="trace" type="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#zfDWR"/> + <variable xsi:type="qvtr:SharedVariable" isImplicit="true" name="trace" type="pivot:Class platform:/resource/org.eclipse.qvtd.runtime/model/QVTtrace.ecore.oclas#MdKgS"/> <when> <predicate> <conditionExpression xsi:type="pivot:OperationCallExp" name="isFemale" referredOperation="#N,BoB" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#XEMMs"> @@ -183,7 +183,7 @@ </domain> <variable xsi:type="qvtr:TemplateVariable" xmi:id="50ALF" name="s" type="pivot:Class Families.ecore.oclas#r2YVU"/> <variable xsi:type="qvtr:TemplateVariable" xmi:id="60ALF" name="t" type="pivot:Class Persons.ecore.oclas#q+x1v"/> - <variable xsi:type="qvtr:SharedVariable" isImplicit="true" name="trace" type="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#zfDWR"/> + <variable xsi:type="qvtr:SharedVariable" isImplicit="true" name="trace" type="pivot:Class platform:/resource/org.eclipse.qvtd.runtime/model/QVTtrace.ecore.oclas#MdKgS"/> <when> <predicate> <conditionExpression xsi:type="pivot:OperationCallExp" name="not" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#DH5kA" diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/newATL2QVTr/NewATL2QVTr.qvtr b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/newATL2QVTr/NewATL2QVTr.qvtr index 678345a34..cf892647f 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/newATL2QVTr/NewATL2QVTr.qvtr +++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/newATL2QVTr/NewATL2QVTr.qvtr @@ -19,6 +19,7 @@ import pivotMM : 'platform:/resource/org.eclipse.ocl.pivot/model/Pivot.ecore'::p import qvtbMM : 'platform:/resource/org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore'::qvtbase; import qvttMM : 'platform:/resource/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore'::qvttemplate; import qvtrMM : 'platform:/resource/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore'::qvtrelation; +import qvttraceMM : 'platform:/resource/org.eclipse.qvtd.runtime/model/QVTtrace.ecore'::qvttrace; package org::eclipse::qvtd::xtext::qvtrelation::tests::atl2qvtr { /** @@ -258,7 +259,7 @@ package org::eclipse::qvtd::xtext::qvtrelation::tests::atl2qvtr { variable = :SharedVariable { name = 'trace', isImplicit = true, - type = pivotMM::OclElement + type = qvttraceMM::TraceElement } }; when { @@ -791,4 +792,35 @@ package org::eclipse::qvtd::xtext::qvtrelation::tests::atl2qvtr { } } } + + -- ActionBlock, BindingStat, ExpressionStat, IfStat, ForStat + -- CalledRule + -- DropPattern + -- ForEachOutPatternElement + -- LazyMatchedRule + -- Library, LibraryRef + -- Query + -- RuleVariableDeclaration + + -- BagExp, OrderedSetExp, SequenceExp, SetExp + -- BagType, OrderedSetType, SequenceType, SetType + -- BooleanType, IntegerType, ReakType, StringType + -- CollectionType + -- EnumLiteralExp + -- IterateExp, IteratorElement + -- Iterator + -- LetExp + -- MapExp, MapElement + -- MapType + -- OclAnyType + -- OclContextDefinition + -- OclFeatureDefinition + -- OclModelElement + -- OclType + -- OclUndefinedExp + -- Parameter + -- RealExp + -- SuperExp + -- TupleExp, TuplePart + -- TupleType, TupleTypeAttribute } diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java index e66c0561a..03ca61f4a 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java +++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java @@ -40,6 +40,7 @@ import org.eclipse.qvtd.compiler.internal.qvtm2qvts.QVTm2QVTs; import org.eclipse.qvtd.compiler.internal.qvts2qvts.merger.EarlyMerger; import org.eclipse.qvtd.compiler.internal.qvts2qvts.merger.LateConsumerMerger; import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseUtil; +import org.eclipse.qvtd.pivot.qvtbase.utilities.TraceHelper; import org.eclipse.qvtd.pivot.qvtimperative.ImperativeTransformation; import org.eclipse.qvtd.pivot.qvtimperative.evaluation.Execution2GraphVisitor; import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiEnvironmentFactory; @@ -252,6 +253,13 @@ public class QVTrCompilerTests extends LoadTestCase myQVT2.loadInput("atl", getModelsURI("families2persons/Families2Persons.atl.xmi")); // FIXME Working around BUG 514604 } ToStringVisitor.addFactory(new PivotQVTrelationToStringFactory()); + // + // Ensure that the dynamic trace model is loaded to avoid generation of nsURI references that cviolate Bug 532561. + // FIXME should this be a generic special case? + // FIXME should there be a more general facility? + // + TraceHelper traceHelper = new TraceHelper(myQVT2.getEnvironmentFactory()); + traceHelper.getTraceElementClass(); myQVT2.executeTransformation(); myQVT2.saveOutput("qvtr", txURI2, getModelsURI("families2persons/Families2Persons_expected.qvtras"), null); } @@ -260,7 +268,13 @@ public class QVTrCompilerTests extends LoadTestCase } Class<? extends Transformer> txClass3; MyQVT myQVT3 = createQVT("Families2Persons", txURI2); + // Avoid the Java files being deleted, and add their classPath since we will compile them again Ugh! use different packge prefix myQVT3.setKeepOldJavaFiles(); + myQVT3.addClasspathProjectName("org.eclipse.m2m.atl.common"); + myQVT3.addClasspathProjectName("org.eclipse.qvtd.pivot.qvtbase"); + myQVT3.addClasspathProjectName("org.eclipse.qvtd.pivot.qvtrelation"); + myQVT3.addClasspathProjectName("org.eclipse.qvtd.pivot.qvttemplate"); + myQVT3.addClasspathProjectName("org.eclipse.qvtd.atl"); // MyQVT myQVT3 = new MyQVT(createTestProjectManager(), getTestBundleURI(), "models/families2persons", "samples"); // myQVT3.addRegisteredPackage("org.eclipse.qvtd.xtext.qvtrelation.tests.models.families2persons.Families.FamiliesPackage"); // myQVT3.addRegisteredPackage("org.eclipse.qvtd.xtext.qvtrelation.tests.models.families2persons.Persons.PersonsPackage"); |