Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2018-04-22 07:39:46 +0000
committerEd Willink2018-04-22 09:38:41 +0000
commite2592f759b184c9e081d39942e9a0eec5f77e987 (patch)
treec6725c1ed08407a5351944ec0d74d1e6fb12deef
parent8dbee5849b9f54fba93475f9fc29963b3e110bab (diff)
downloadorg.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
-rw-r--r--plugins/org.eclipse.qvtd.atl/model/ATL2QVTr.qvtr14
-rw-r--r--plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/TmapVariableExp_referredVariable_Helper.java32
-rw-r--r--plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/TmapVariableExp_referredVariable_HelperImpl.java68
-rw-r--r--plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/impl/trace_ATL2QVTrPackageImpl.java2384
-rw-r--r--plugins/org.eclipse.qvtd.atl/src-gen/org/eclipse/qvtd/atl/atl2qvtr/trace_ATL2QVTr/trace_ATL2QVTrPackage.java36
-rw-r--r--plugins/org.eclipse.qvtd.atl/src/org/eclipse/qvtd/atl/atl2qvtr/ATL2QVTr.java430
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/AbstractScheduleManager.java11
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtb2qvts/ScheduleManager.java2
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/QVTr2QVTs.java12
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationAnalysis2TraceGroup.java9
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvts/trace/RelationalTransformationAnalysis2TracePackage.java21
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/QVTbasePackage.java2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/QVTbasePivotStandaloneSetup.java8
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/IllegalTraceException.java27
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/TraceHelper.java94
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationHelper.java6
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java7
-rw-r--r--plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/qvttrace/impl/QVTtracePackageImpl.java13
-rw-r--r--plugins/org.eclipse.qvtd.runtime/src/org/eclipse/qvtd/runtime/evaluation/AbstractTransformer.java2
-rw-r--r--plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/umlx2qvtr/UMLX2QVTr.java8
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/cs2as/QVTrelationCSContainmentVisitor.java10
-rw-r--r--releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdTraceModels.mwe210
-rw-r--r--tests/org.eclipse.qvtd.atl.tests/models/families2persons/Families2Persons_expected.qvtras4
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/families2persons/Families2Persons_expected.qvtras4
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/newATL2QVTr/NewATL2QVTr.qvtr34
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java14
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");

Back to the top