Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2015-05-03 18:11:05 +0000
committerEd Willink2015-05-04 10:57:11 +0000
commit92fd5d9e9d7e3f915118b65442da291e6ee97cb5 (patch)
tree1df16459293b13627c19d69c8a7c29cf2a769028
parent8c2198f5d31f1b1c34d5456fa1959303343b9c8f (diff)
downloadorg.eclipse.qvtd-92fd5d9e9d7e3f915118b65442da291e6ee97cb5.tar.gz
org.eclipse.qvtd-92fd5d9e9d7e3f915118b65442da291e6ee97cb5.tar.xz
org.eclipse.qvtd-92fd5d9e9d7e3f915118b65442da291e6ee97cb5.zip
[445105] Split QVTbaseLibrary/QVTimperativeLibrary
-rw-r--r--plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java3
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/META-INF/MANIFEST.MF1
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/model/QVTbaseLibrary.java105
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/model-gen/QVTbaseLibrary.oclas71
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/model/QVTbaseLibrary.oclstdlib7
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/plugin.xml6
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/AbstractTransformationExecutor.java341
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TransformationExecutor.java7
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TypedModelInstance.java11
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbase.java14
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java33
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/model/QVTimperativeLibrary.java381
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.ecore6
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.oclas78
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.genmodel19
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib11
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/plugin.xml6
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/QVTimperativePivotStandaloneSetup.java2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEnvironmentFactory.java4
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiModelManager.java12
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiPivotEvaluator.java26
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTransformationAnalysis.java35
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/AllObjectsOperation.java (renamed from plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/AllObjectsOperation.java)7
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfKindOperation.java (renamed from plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/ModelObjectsOfKindOperation.java)7
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfTypeOperation.java (renamed from plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/ModelObjectsOfTypeOperation.java)7
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/RootObjectsOperation.java (renamed from plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/RootObjectsOperation.java)7
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/utilities/QVTimperative.java45
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreGrammarResource.java3
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreStandaloneSetupGenerated.java16
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseGrammarResource.java3
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseStandaloneSetupGenerated.java16
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcorebase/src/org/eclipse/qvtd/xtext/qvtcorebase/cs2as/QVTcoreBaseCSLeft2RightVisitor.java4
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeLexer.java111
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeParser.java153
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src/org/eclipse/qvtd/xtext/qvtimperative/ui/model/QVTimperativeDocumentProvider.java28
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/QVTimperativeStandaloneSetupGenerated.java16
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeLexer.java114
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeParser.java177
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/services/QVTimperativeGrammarAccess.java130
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSContainmentVisitor.java19
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/utilities/QVTimperative.java17
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationGrammarResource.java3
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetupGenerated.java16
-rw-r--r--releng/org.eclipse.qvtd.build/.launches/Generate QVTd Library Models.launch (renamed from releng/org.eclipse.qvtd.build/.launches/Generate QVTd QVTbaseLibrary Models.launch)2
-rw-r--r--releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdAll.mwe22
-rw-r--r--releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdLibraryModels.mwe2 (renamed from releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTbaseLibraryModels.mwe2)43
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/Source2Target.qvtias6
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/hsv2hls.java14
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/HSV2HLS/HSV2HLS.qvti4
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java13
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiInterpreterTests.java6
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java5
53 files changed, 1184 insertions, 991 deletions
diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java
index 68a3287ad..a5c32d9eb 100644
--- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java
+++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java
@@ -59,6 +59,7 @@ public class QVTiCodeGenerator extends JavaCodeGenerator
protected final @NonNull Transformation transformation;
private/* @LazyNonNull */String javaSourceCode = null;
protected final @NonNull QVTiGlobalContext globalContext = new QVTiGlobalContext(this);
+ protected final @NonNull Map<Transformation, QVTiTransformationAnalysis> transformation2analysis = new HashMap<Transformation, QVTiTransformationAnalysis>();
public QVTiCodeGenerator(@NonNull QVTiEnvironmentFactory environmentFactory, @NonNull Transformation transformation) {
super(environmentFactory);
@@ -168,7 +169,7 @@ public class QVTiCodeGenerator extends JavaCodeGenerator
}
public @NonNull QVTiTransformationAnalysis getTransformationAnalysis(@NonNull Transformation transformation) {
- Map<Transformation, QVTiTransformationAnalysis> transformation2analysis = new HashMap<Transformation, QVTiTransformationAnalysis>();
+// Map<Transformation, QVTiTransformationAnalysis> transformation2analysis = new HashMap<Transformation, QVTiTransformationAnalysis>();
QVTiTransformationAnalysis transformationAnalysis = transformation2analysis.get(transformation);
if (transformationAnalysis == null) {
transformationAnalysis = new QVTiTransformationAnalysis(getEnvironmentFactory());
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/META-INF/MANIFEST.MF b/plugins/org.eclipse.qvtd.pivot.qvtbase/META-INF/MANIFEST.MF
index e225136bd..d3a39bee1 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/META-INF/MANIFEST.MF
@@ -11,7 +11,6 @@ Export-Package: org.eclipse.qvtd.pivot.qvtbase,
org.eclipse.qvtd.pivot.qvtbase.attributes,
org.eclipse.qvtd.pivot.qvtbase.evaluation,
org.eclipse.qvtd.pivot.qvtbase.impl,
- org.eclipse.qvtd.pivot.qvtbase.library.model,
org.eclipse.qvtd.pivot.qvtbase.model,
org.eclipse.qvtd.pivot.qvtbase.scoping,
org.eclipse.qvtd.pivot.qvtbase.util,
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/model/QVTbaseLibrary.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/model/QVTbaseLibrary.java
index fcb8a8275..202b0cfd8 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/model/QVTbaseLibrary.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/model/QVTbaseLibrary.java
@@ -235,18 +235,13 @@ public class QVTbaseLibrary extends ASResourceImpl
{
private final @NonNull Model model;
private final @NonNull Library qvtbaselibrary;
- private final @NonNull Package orphanage;
private Contents(@NonNull String asURI)
{
model = createModel(asURI);
qvtbaselibrary = createLibrary("qvtbaselibrary", "qvtbaselib", "http://www.eclipse.org/qvt/2015/QVTbaseLibrary", null);
- orphanage = createPackage("$$", "orphanage", "http://www.eclipse.org/ocl/2015/Orphanage", null);
installPackages();
installClassTypes();
- installCollectionTypes();
- installOperations();
- installTemplateBindings();
installComments();
}
@@ -256,18 +251,11 @@ public class QVTbaseLibrary extends ASResourceImpl
private final @NonNull Package _ocl = getPackage(org.eclipse.ocl.pivot.model.OCLstdlib.getDefaultModel(), "ocl");
private final @NonNull Package _qvtbase = getPackage(org.eclipse.qvtd.pivot.qvtbase.model.QVTbaseMetamodel.getDefaultModel(), "qvtbase");
- private final @NonNull CollectionType _Collection = getCollectionType(_ocl, "Collection");
private final @NonNull AnyType _OclAny = getAnyType(_ocl, "OclAny");
private final @NonNull Class _OclElement = getClass(_ocl, "OclElement");
- private final @NonNull SetType _Set = getSetType(_ocl, "Set");
- private final @NonNull CollectionType _UniqueCollection = getCollectionType(_ocl, "UniqueCollection");
- private final @NonNull TemplateParameter _Collection_T = getTemplateParameter(_Collection, 0);
- private final @NonNull TemplateParameter _Set_T = getTemplateParameter(_Set, 0);
- private final @NonNull TemplateParameter _UniqueCollection_T = getTemplateParameter(_UniqueCollection, 0);
private void installPackages() {
model.getOwnedPackages().add(qvtbaselibrary);
- model.getOwnedPackages().add(orphanage);
model.getOwnedImports().add(createImport(null, _ocl));
model.getOwnedImports().add(createImport("qvtb", _qvtbase));
}
@@ -275,19 +263,6 @@ public class QVTbaseLibrary extends ASResourceImpl
private final @NonNull Class _Model = createClass("Model");
private final @NonNull Class _Transformation = createClass("Transformation");
- private final @NonNull TemplateParameter tp_Model_objectsOfKind_TT = createTemplateParameter("TT");
- private final @NonNull TemplateParameter tp_Model_objectsOfType_TT = createTemplateParameter("TT");
-
- private final @NonNull CollectionType _Collection_OclElement = createCollectionType(_Collection, _OclElement);
- private final @NonNull CollectionType _Collection_Model_objectsOfKind_TT = createCollectionType(_Collection, tp_Model_objectsOfKind_TT);
- private final @NonNull CollectionType _Collection_Model_objectsOfType_TT = createCollectionType(_Collection, tp_Model_objectsOfType_TT);
- private final @NonNull SetType _Set_OclElement = createSetType(_Set, _OclElement);
- private final @NonNull SetType _Set_Model_objectsOfKind_TT = createSetType(_Set, tp_Model_objectsOfKind_TT);
- private final @NonNull SetType _Set_Model_objectsOfType_TT = createSetType(_Set, tp_Model_objectsOfType_TT);
- private final @NonNull CollectionType _UniqueCollection_OclElement = createCollectionType(_UniqueCollection, _OclElement);
- private final @NonNull CollectionType _UniqueCollection_Model_objectsOfKind_TT = createCollectionType(_UniqueCollection, tp_Model_objectsOfKind_TT);
- private final @NonNull CollectionType _UniqueCollection_Model_objectsOfType_TT = createCollectionType(_UniqueCollection, tp_Model_objectsOfType_TT);
-
private void installClassTypes() {
List<Class> ownedClasses;
List<Class> superClasses;
@@ -302,86 +277,6 @@ public class QVTbaseLibrary extends ASResourceImpl
superClasses.add(_OclElement);
}
- private void installCollectionTypes() {
- List<Class> ownedClasses;
- List<Class> superClasses;
- CollectionType type;
-
- ownedClasses = orphanage.getOwnedClasses();
- ownedClasses.add(type = _Collection_OclElement);
- superClasses = type.getSuperClasses();
- superClasses.add(_OclElement);
- ownedClasses.add(type = _Collection_Model_objectsOfKind_TT);
- superClasses = type.getSuperClasses();
- superClasses.add(_OclElement);
- ownedClasses.add(type = _Collection_Model_objectsOfType_TT);
- superClasses = type.getSuperClasses();
- superClasses.add(_OclElement);
- ownedClasses.add(type = _Set_OclElement);
- superClasses = type.getSuperClasses();
- superClasses.add(_UniqueCollection_OclElement);
- ownedClasses.add(type = _Set_Model_objectsOfKind_TT);
- superClasses = type.getSuperClasses();
- superClasses.add(_UniqueCollection_Model_objectsOfKind_TT);
- ownedClasses.add(type = _Set_Model_objectsOfType_TT);
- superClasses = type.getSuperClasses();
- superClasses.add(_UniqueCollection_Model_objectsOfType_TT);
- ownedClasses.add(type = _UniqueCollection_OclElement);
- superClasses = type.getSuperClasses();
- superClasses.add(_Collection_OclElement);
- ownedClasses.add(type = _UniqueCollection_Model_objectsOfKind_TT);
- superClasses = type.getSuperClasses();
- superClasses.add(_Collection_Model_objectsOfKind_TT);
- ownedClasses.add(type = _UniqueCollection_Model_objectsOfType_TT);
- superClasses = type.getSuperClasses();
- superClasses.add(_Collection_Model_objectsOfType_TT);
- }
-
- private final @NonNull Operation op_Model_allObjects = createOperation("allObjects", _Set_OclElement, "org.eclipse.qvtd.pivot.qvtbase.library.model.AllObjectsOperation", org.eclipse.qvtd.pivot.qvtbase.library.model.AllObjectsOperation.INSTANCE);
- private final @NonNull Operation op_Model_objectsOfKind = createOperation("objectsOfKind", _Set_Model_objectsOfKind_TT, "org.eclipse.qvtd.pivot.qvtbase.library.model.ModelObjectsOfKindOperation", org.eclipse.qvtd.pivot.qvtbase.library.model.ModelObjectsOfKindOperation.INSTANCE, tp_Model_objectsOfKind_TT);
- private final @NonNull Operation op_Model_objectsOfType = createOperation("objectsOfType", _Set_Model_objectsOfType_TT, "org.eclipse.qvtd.pivot.qvtbase.library.model.ModelObjectsOfTypeOperation", org.eclipse.qvtd.pivot.qvtbase.library.model.ModelObjectsOfTypeOperation.INSTANCE, tp_Model_objectsOfType_TT);
- private final @NonNull Operation op_Model_rootObjects = createOperation("rootObjects", _Set_OclElement, "org.eclipse.qvtd.pivot.qvtbase.library.model.RootObjectsOperation", org.eclipse.qvtd.pivot.qvtbase.library.model.RootObjectsOperation.INSTANCE);
-
- private void installOperations() {
- List<Operation> ownedOperations;
- List<Parameter> ownedParameters;
- Operation operation;
- Parameter parameter;
-
- ownedOperations = _Model.getOwnedOperations();
- ownedOperations.add(operation = op_Model_allObjects);
- ownedOperations.add(operation = op_Model_objectsOfKind);
- ownedParameters = operation.getOwnedParameters();
- ownedParameters.add(parameter = createParameter("type", tp_Model_objectsOfKind_TT, false));
- parameter.setIsTypeof(true);
- ownedOperations.add(operation = op_Model_objectsOfType);
- ownedParameters = operation.getOwnedParameters();
- ownedParameters.add(parameter = createParameter("type", tp_Model_objectsOfType_TT, false));
- parameter.setIsTypeof(true);
- ownedOperations.add(operation = op_Model_rootObjects);
- }
-
- private void installTemplateBindings() {
- _Collection_OclElement.getOwnedBindings().add(createTemplateBinding(
- createTemplateParameterSubstitution(_Collection_T, _OclElement)));
- _Collection_Model_objectsOfKind_TT.getOwnedBindings().add(createTemplateBinding(
- createTemplateParameterSubstitution(_Collection_T, tp_Model_objectsOfKind_TT)));
- _Collection_Model_objectsOfType_TT.getOwnedBindings().add(createTemplateBinding(
- createTemplateParameterSubstitution(_Collection_T, tp_Model_objectsOfType_TT)));
- _Set_OclElement.getOwnedBindings().add(createTemplateBinding(
- createTemplateParameterSubstitution(_Set_T, _OclElement)));
- _Set_Model_objectsOfKind_TT.getOwnedBindings().add(createTemplateBinding(
- createTemplateParameterSubstitution(_Set_T, tp_Model_objectsOfKind_TT)));
- _Set_Model_objectsOfType_TT.getOwnedBindings().add(createTemplateBinding(
- createTemplateParameterSubstitution(_Set_T, tp_Model_objectsOfType_TT)));
- _UniqueCollection_OclElement.getOwnedBindings().add(createTemplateBinding(
- createTemplateParameterSubstitution(_UniqueCollection_T, _OclElement)));
- _UniqueCollection_Model_objectsOfKind_TT.getOwnedBindings().add(createTemplateBinding(
- createTemplateParameterSubstitution(_UniqueCollection_T, tp_Model_objectsOfKind_TT)));
- _UniqueCollection_Model_objectsOfType_TT.getOwnedBindings().add(createTemplateBinding(
- createTemplateParameterSubstitution(_UniqueCollection_T, tp_Model_objectsOfType_TT)));
- }
-
private void installComments() {
}
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/model-gen/QVTbaseLibrary.oclas b/plugins/org.eclipse.qvtd.pivot.qvtbase/model-gen/QVTbaseLibrary.oclas
index 956a5a614..66dee63bc 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/model-gen/QVTbaseLibrary.oclas
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/model-gen/QVTbaseLibrary.oclas
@@ -4,76 +4,7 @@
<ownedImports importedNamespace="pivot:Package ../model/QVTbase.ecore.oclas#P.qvtbase" name="qvtb"/>
<ownedPackages xsi:type="pivot:Library" xmi:id="P.qvtbaselibrary" URI="http://www.eclipse.org/qvt/2015/QVTbaseLibrary" name="qvtbaselibrary"
nsPrefix="qvtbaselib">
- <ownedClasses xmi:id="T.qvtbaselibrary.Model" name="Model" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement">
- <ownedOperations xmi:id="o.qvtbaselibrary.Model.allObjects" implementationClass="org.eclipse.qvtd.pivot.qvtbase.library.model.AllObjectsOperation"
- name="allObjects" type="#//@ownedPackages.1/@ownedClasses.3"/>
- <ownedOperations xmi:id="o.qvtbaselibrary.Model.objectsOfKind..TT" implementationClass="org.eclipse.qvtd.pivot.qvtbase.library.model.ModelObjectsOfKindOperation"
- name="objectsOfKind" type="#//@ownedPackages.1/@ownedClasses.4">
- <ownedParameters xmi:id="p0o.qvtbaselibrary.Model.objectsOfKind..TT" isRequired="false" isTypeof="true" name="type" type="#t.qvtbaselibrary.Model..objectsOfKindTT"/>
- <ownedSignature xmi:id="s.o.qvtbaselibrary.Model.objectsOfKind..TT">
- <ownedParameters xmi:id="t.qvtbaselibrary.Model..objectsOfKindTT" name="TT"/>
- </ownedSignature>
- </ownedOperations>
- <ownedOperations xmi:id="o.qvtbaselibrary.Model.objectsOfType..TT" implementationClass="org.eclipse.qvtd.pivot.qvtbase.library.model.ModelObjectsOfTypeOperation"
- name="objectsOfType" type="#//@ownedPackages.1/@ownedClasses.5">
- <ownedParameters xmi:id="p0o.qvtbaselibrary.Model.objectsOfType..TT" isRequired="false" isTypeof="true" name="type" type="#t.qvtbaselibrary.Model..objectsOfTypeTT"/>
- <ownedSignature xmi:id="s.o.qvtbaselibrary.Model.objectsOfType..TT">
- <ownedParameters xmi:id="t.qvtbaselibrary.Model..objectsOfTypeTT" name="TT"/>
- </ownedSignature>
- </ownedOperations>
- <ownedOperations xmi:id="o.qvtbaselibrary.Model.rootObjects" implementationClass="org.eclipse.qvtd.pivot.qvtbase.library.model.RootObjectsOperation"
- name="rootObjects" type="#//@ownedPackages.1/@ownedClasses.3"/>
- </ownedClasses>
+ <ownedClasses xmi:id="T.qvtbaselibrary.Model" name="Model" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement"/>
<ownedClasses xmi:id="T.qvtbaselibrary.Transformation" name="Transformation" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement"/>
</ownedPackages>
- <ownedPackages xmi:id="P.$$" URI="http://www.eclipse.org/ocl/2015/Orphanage" name="$$" nsPrefix="orphanage">
- <ownedClasses xsi:type="pivot:CollectionType" elementType="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement"
- name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny">
- <ownedBindings>
- <ownedSubstitutions actual="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
- </ownedBindings>
- </ownedClasses>
- <ownedClasses xsi:type="pivot:CollectionType" elementType="#t.qvtbaselibrary.Model..objectsOfKindTT" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny">
- <ownedBindings>
- <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfKindTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
- </ownedBindings>
- </ownedClasses>
- <ownedClasses xsi:type="pivot:CollectionType" elementType="#t.qvtbaselibrary.Model..objectsOfTypeTT" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny">
- <ownedBindings>
- <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfTypeTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
- </ownedBindings>
- </ownedClasses>
- <ownedClasses xsi:type="pivot:SetType" elementType="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement" name="Set"
- superClasses="#//@ownedPackages.1/@ownedClasses.6">
- <ownedBindings>
- <ownedSubstitutions actual="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
- </ownedBindings>
- </ownedClasses>
- <ownedClasses xsi:type="pivot:SetType" elementType="#t.qvtbaselibrary.Model..objectsOfKindTT" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.7">
- <ownedBindings>
- <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfKindTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
- </ownedBindings>
- </ownedClasses>
- <ownedClasses xsi:type="pivot:SetType" elementType="#t.qvtbaselibrary.Model..objectsOfTypeTT" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.8">
- <ownedBindings>
- <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfTypeTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
- </ownedBindings>
- </ownedClasses>
- <ownedClasses xsi:type="pivot:CollectionType" elementType="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement"
- name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.0">
- <ownedBindings>
- <ownedSubstitutions actual="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
- </ownedBindings>
- </ownedClasses>
- <ownedClasses xsi:type="pivot:CollectionType" elementType="#t.qvtbaselibrary.Model..objectsOfKindTT" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.1">
- <ownedBindings>
- <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfKindTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
- </ownedBindings>
- </ownedClasses>
- <ownedClasses xsi:type="pivot:CollectionType" elementType="#t.qvtbaselibrary.Model..objectsOfTypeTT" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.2">
- <ownedBindings>
- <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfTypeTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
- </ownedBindings>
- </ownedClasses>
- </ownedPackages>
</pivot:Model>
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/model/QVTbaseLibrary.oclstdlib b/plugins/org.eclipse.qvtd.pivot.qvtbase/model/QVTbaseLibrary.oclstdlib
index fe74754b4..10fce4fe9 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/model/QVTbaseLibrary.oclstdlib
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/model/QVTbaseLibrary.oclstdlib
@@ -2,11 +2,6 @@ import qvtb : 'QVTbase.ecore#/';
library qvtbaselibrary : qvtbaselib = 'http://www.eclipse.org/qvt/2015/QVTbaseLibrary'
{
-type Model : TypedModel {
- operation allObjects() : ocl::Set(ocl::OclElement) => 'org.eclipse.qvtd.pivot.qvtbase.library.model.AllObjectsOperation';
- operation objectsOfKind(TT)(type : typeof(TT)) : ocl::Set(TT) => 'org.eclipse.qvtd.pivot.qvtbase.library.model.ModelObjectsOfKindOperation';
- operation objectsOfType(TT)(type : typeof(TT)) : ocl::Set(TT) => 'org.eclipse.qvtd.pivot.qvtbase.library.model.ModelObjectsOfTypeOperation';
- operation rootObjects() : ocl::Set(ocl::OclElement) => 'org.eclipse.qvtd.pivot.qvtbase.library.model.RootObjectsOperation';
-}
+type Model : TypedModel {}
type Transformation : Transformation {}
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/plugin.xml b/plugins/org.eclipse.qvtd.pivot.qvtbase/plugin.xml
index 754bb15d9..d096f11e8 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/plugin.xml
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/plugin.xml
@@ -36,4 +36,10 @@
</content-type>
</extension>
+ <extension point="org.eclipse.ocl.pivot.standard_library"
+ id="qvtbaselibrary" name="QVTbase Library">
+ <library uri="http://www.eclipse.org/qvt/2015/QVTbaseLibrary"
+ class="org.eclipse.qvtd.pivot.qvtbase.model.QVTbaseLibrary$Loader"/>
+ </extension>
+
</plugin>
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/AbstractTransformationExecutor.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/AbstractTransformationExecutor.java
index 3869061b9..7617cb765 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/AbstractTransformationExecutor.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/AbstractTransformationExecutor.java
@@ -11,6 +11,7 @@
package org.eclipse.qvtd.pivot.qvtbase.evaluation;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -32,44 +33,224 @@ import org.eclipse.ocl.pivot.ids.IdManager;
import org.eclipse.ocl.pivot.ids.IdResolver;
import org.eclipse.ocl.pivot.ids.PackageId;
import org.eclipse.ocl.pivot.ids.PropertyId;
+import org.eclipse.ocl.pivot.ids.TypeId;
import org.eclipse.ocl.pivot.utilities.ClassUtil;
import org.eclipse.ocl.pivot.utilities.NameUtil;
public abstract class AbstractTransformationExecutor implements TransformationExecutor
{
private static final @SuppressWarnings("null")@NonNull List<Integer> EMPTY_INDEX_LIST = Collections.emptyList();
+ private static final @SuppressWarnings("null")@NonNull List<EObject> EMPTY_EOBJECT_LIST = Collections.emptyList();
protected class Model implements TypedModelInstance
{
protected final @NonNull String name;
- protected final @NonNull List<EObject> objects = new ArrayList<EObject>();
+ private @Nullable Set<EObject> allEObjects = null;
+ private @Nullable List<EObject> rootEObjects = null;
+
+ /**
+ * All possible allInstances() returns indexed by the ClassIndex of the ClassId for which allInstances() may be invoked.
+ */
+ private final @Nullable Set<EObject>[] classIndex2objects;
- public Model(@NonNull String name) {
+ public Model(@NonNull String name, @Nullable PropertyId[] propertyIndex2propertyId, @Nullable ClassId[] classIndex2classId, @Nullable int[][] classIndex2allClassIndexes) {
this.name = name;
+ //
+ // Prepare the allInstances() fields
+ //
+ if (classIndex2classId != null) {
+ assert classIndex2allClassIndexes != null;
+ int classIds = classIndex2classId.length;
+ @SuppressWarnings("unchecked")Set<EObject>[] classIndex2objects = (Set<EObject>[]) new HashSet<?>[classIds];
+ this.classIndex2objects = classIndex2objects;
+ for (int i = 0; i < classIds; i++) {
+ classIndex2objects[i] = new HashSet<EObject>();
+ }
+ }
+ else {
+ this.classIndex2objects = null;
+ }
+ }
+
+ /**
+ * Add eObject to the caches.
+ * <p>
+ * If eClass2allClassIndexes is non-null, eObject is added to the allInstances() caches potentially updating eClass2allClassIndexes with
+ * the state of a new EClass.
+ * <p>
+ * If eClass2allPropertyIndexes is non-null, eObject is added to the unnavigable opposites caches potentially updating eClass2allPropertyIndexes with
+ * the state of a new EClass.
+ */
+ private void accumulateEObject(@Nullable Map<EClass, Set<Integer>> eClass2allClassIndexes,
+ @Nullable Map<EClass, List<Integer>> eClass2allPropertyIndexes, @Nullable Map<EReference, Integer> eReference2propertyIndex,
+ @NonNull EObject eObject) {
+ EClass eClass = ClassUtil.nonNullEMF(eObject.eClass());
+ if (eClass2allClassIndexes != null) {
+ Set<Integer> allClassIndexes = eClass2allClassIndexes.get(eClass);
+ if (allClassIndexes == null) {
+ allClassIndexes = getClassIndexes(eClass);
+ eClass2allClassIndexes.put(eClass, allClassIndexes);
+ }
+ for (Integer classIndex : allClassIndexes) {
+ assert classIndex2objects != null;
+ classIndex2objects[classIndex].add(eObject);
+ }
+ }
+ if (eClass2allPropertyIndexes != null) {
+ assert eReference2propertyIndex != null;
+ List<Integer> allPropertyIndexes = eClass2allPropertyIndexes.get(eClass);
+ if (allPropertyIndexes == null) {
+ allPropertyIndexes = getOppositePropertyIndexes(eReference2propertyIndex, eClass);
+ eClass2allPropertyIndexes.put(eClass, allPropertyIndexes);
+ }
+ for (Integer propertyIndex : allPropertyIndexes) {
+ assert propertyIndex2eReference != null;
+ EReference eReference = propertyIndex2eReference[propertyIndex];
+ if (eReference == null) {
+ assert propertyIndex2propertyId != null;
+ PropertyId propertyId = propertyIndex2propertyId[propertyIndex];
+ eReference = (EReference) NameUtil.getENamedElement(eClass.getEAllStructuralFeatures(), propertyId.getName());
+ }
+ assert object2oppositeObject != null;
+ object2oppositeObject[propertyIndex].put((EObject)eObject.eGet(eReference), eObject);
+ }
+ }
}
public void add(@NonNull EObject eObject) {
- objects.add(eObject);
+ Set<EObject> allEObjects2 = allEObjects;
+ if (allEObjects2 == null) {
+ allEObjects = allEObjects2 = new HashSet<EObject>();
+ }
+ rootEObjects = null;
+ allEObjects2.add(eObject);
+ }
+
+ /**
+ * Add eRootObjects to the modelIndex model.
+ */
+ public void addRootObjects(@NonNull Iterable<? extends EObject> eRootObjects) {
+ List<EObject> rootEObjects2 = rootEObjects;
+ if (rootEObjects2 == null) {
+ rootEObjects = rootEObjects2 = new ArrayList<EObject>();
+ }
+ allEObjects = null;
+ Map<EClass, Set<Integer>> eClass2allClassIndexes = null;
+ Map<EClass, List<Integer>> eClass2allPropertyIndexes = null;
+ Map<EReference, Integer> eReference2propertyIndex = null;
+ if ((classId2classIndexes != null) && (classIndex2objects != null)) {
+ eClass2allClassIndexes = new HashMap<EClass, Set<Integer>>();
+ }
+ if (propertyIndex2propertyId != null) {
+ eClass2allPropertyIndexes = new HashMap<EClass, List<Integer>>();
+ eReference2propertyIndex = new HashMap<EReference, Integer>();
+ }
+ for (EObject eRootObject : eRootObjects) {
+ if (eRootObject != null) {
+ //
+ // Accumulate the root object in the model extent
+ //
+ rootEObjects2.add(eRootObject);
+ //
+ // Accumulate the root object and all its child objects in the allInstances() returns
+ //
+ if ((eClass2allClassIndexes != null) || (eClass2allPropertyIndexes != null)) {
+ accumulateEObject(eClass2allClassIndexes, eClass2allPropertyIndexes, eReference2propertyIndex, eRootObject);
+ for (TreeIterator<EObject> tit = eRootObject.eAllContents(); tit.hasNext(); ) {
+ EObject eObject = tit.next();
+ if (eObject != null) {
+ accumulateEObject(eClass2allClassIndexes, eClass2allPropertyIndexes, eReference2propertyIndex, eObject);
+ }
+ }
+ }
+ }
+ }
}
@Override
- public @NonNull Set<Object> getAllObjects() {
- throw new UnsupportedOperationException();
+ public @NonNull Collection<EObject> getAllObjects() {
+ Set<EObject> allEObjects2 = allEObjects;
+ if (allEObjects2 == null) {
+ allEObjects = allEObjects2 = new HashSet<EObject>();
+ if (rootEObjects != null) {
+ for (EObject eRootObject : rootEObjects) {
+ allEObjects2.add(eRootObject);
+ for (TreeIterator<EObject> tit = eRootObject.eAllContents(); tit.hasNext(); ) {
+ @SuppressWarnings("null")@NonNull EObject eObject = tit.next();
+ allEObjects2.add(eObject);
+ }
+ }
+ }
+ }
+ return allEObjects2;
}
@Override
- public @NonNull Set<Object> getObjectsOfKind(@NonNull org.eclipse.ocl.pivot.Class type) {
- throw new UnsupportedOperationException();
+ public @NonNull Collection<EObject> getObjectsOfKind(@NonNull org.eclipse.ocl.pivot.Class type) {
+ Map<ClassId, Integer> classId2classIndex2 = classId2classIndex;
+ if (classId2classIndex2 != null) {
+ TypeId classId = type.getTypeId();
+ Integer classIndex = classId2classIndex2.get(classId);
+ if (classIndex != null) {
+ Set<EObject>[] classIndex2objects2 = classIndex2objects;
+ if (classIndex2objects2 != null) {
+ Set<EObject> objects = classIndex2objects2[classIndex];
+ if (objects != null) {
+ return objects;
+ }
+ }
+ }
+ }
+ return EMPTY_EOBJECT_LIST;
}
@Override
- public @NonNull Set<Object> getObjectsOfType(@NonNull org.eclipse.ocl.pivot.Class type) {
+ public @NonNull Collection<EObject> getObjectsOfType(@NonNull org.eclipse.ocl.pivot.Class type) {
throw new UnsupportedOperationException();
}
+ /**
+ * Return all objects in the modelIndex model that conform to eClass.
+ *
+ protected @NonNull <T extends EObject> List<T> getObjectsByType(@NonNull EClass eClass) {
+ List<T> selectedEObjects = new ArrayList<T>();
+ if (rootEObjects != null) {
+ for (EObject eRootObject : rootEObjects) {
+ if (eClass.isInstance(eRootObject)) {
+ @SuppressWarnings("unchecked") T eObject2 = (T)eRootObject;
+ selectedEObjects.add(eObject2);
+ }
+ for (TreeIterator<EObject> tit = eRootObject.eAllContents(); tit.hasNext(); ) {
+ @SuppressWarnings("null")@NonNull EObject eObject = tit.next();
+ if (eClass.isInstance(eObject)) {
+ @SuppressWarnings("unchecked") T eObject2 = (T)eObject;
+ selectedEObjects.add(eObject2);
+ }
+ }
+ }
+ }
+ return selectedEObjects;
+ } */
+
@Override
- public @NonNull Set<Object> getRootObjects() {
- throw new UnsupportedOperationException();
+ public @NonNull Collection<EObject> getRootObjects() {
+ List<EObject> rootEObjects2 = rootEObjects;
+ if (rootEObjects2 == null) {
+ rootEObjects = rootEObjects2 = new ArrayList<EObject>();
+ if (allEObjects != null) {
+ for (EObject eObject : allEObjects) {
+ if (eObject.eContainer() == null) {
+ rootEObjects2.add(eObject);
+ }
+ }
+ }
+ }
+ return rootEObjects2;
+ }
+
+ @Override
+ public String toString() {
+ return name + " " + (rootEObjects != null ? rootEObjects.size() : "null") + "/" + (allEObjects != null ? allEObjects.size() : "null");
}
}
@@ -110,11 +291,6 @@ public abstract class AbstractTransformationExecutor implements TransformationEx
* models.
*/
private final @Nullable Map<ClassId, Set<Integer>> classId2classIndexes;
-
- /**
- * All possible allInstances() returns indexed by the ClassIndex of the ClassId for which allInstances() may be invoked.
- */
- private final @Nullable Set<EObject>[] classIndex2objects;
protected AbstractTransformationExecutor(@NonNull Evaluator evaluator, @NonNull String[] modelNames,
@Nullable PropertyId[] propertyIndex2propertyId, @Nullable ClassId[] classIndex2classId, @Nullable int[][] classIndex2allClassIndexes) {
@@ -123,7 +299,7 @@ public abstract class AbstractTransformationExecutor implements TransformationEx
this.models = new Model[modelNames.length];
for (int i = 0; i < modelNames.length; i++) {
@SuppressWarnings("null")@NonNull String modelName = modelNames[i];
- models[i] = new Model(modelName);
+ models[i] = new Model(modelName, propertyIndex2propertyId, classIndex2classId, classIndex2allClassIndexes);
modelIndexes.put(modelName, i);
}
//
@@ -167,61 +343,10 @@ public abstract class AbstractTransformationExecutor implements TransformationEx
}
classId2classIndexes.put(classId, superClassIndexes);
}
- @SuppressWarnings("unchecked")Set<EObject>[] classIndex2objects = (Set<EObject>[]) new HashSet<?>[classIds];
- this.classIndex2objects = classIndex2objects;
- for (int i = 0; i < classIds; i++) {
- classIndex2objects[i] = new HashSet<EObject>();
- }
}
else {
this.classId2classIndex = null;
this.classId2classIndexes = null;
- this.classIndex2objects = null;
- }
- }
-
- /**
- * Add eObject to the caches.
- * <p>
- * If eClass2allClassIndexes is non-null, eObject is added to the allInstances() caches potentially updating eClass2allClassIndexes with
- * the state of a new EClass.
- * <p>
- * If eClass2allPropertyIndexes is non-null, eObject is added to the unnavigable opposites caches potentially updating eClass2allPropertyIndexes with
- * the state of a new EClass.
- */
- private void accumulateEObject(@Nullable Map<EClass, Set<Integer>> eClass2allClassIndexes,
- @Nullable Map<EClass, List<Integer>> eClass2allPropertyIndexes, @Nullable Map<EReference, Integer> eReference2propertyIndex,
- @NonNull EObject eObject) {
- EClass eClass = ClassUtil.nonNullEMF(eObject.eClass());
- if (eClass2allClassIndexes != null) {
- Set<Integer> allClassIndexes = eClass2allClassIndexes.get(eClass);
- if (allClassIndexes == null) {
- allClassIndexes = getClassIndexes(eClass);
- eClass2allClassIndexes.put(eClass, allClassIndexes);
- }
- for (Integer classIndex : allClassIndexes) {
- assert classIndex2objects != null;
- classIndex2objects[classIndex].add(eObject);
- }
- }
- if (eClass2allPropertyIndexes != null) {
- assert eReference2propertyIndex != null;
- List<Integer> allPropertyIndexes = eClass2allPropertyIndexes.get(eClass);
- if (allPropertyIndexes == null) {
- allPropertyIndexes = getOppositePropertyIndexes(eReference2propertyIndex, eClass);
- eClass2allPropertyIndexes.put(eClass, allPropertyIndexes);
- }
- for (Integer propertyIndex : allPropertyIndexes) {
- assert propertyIndex2eReference != null;
- EReference eReference = propertyIndex2eReference[propertyIndex];
- if (eReference == null) {
- assert propertyIndex2propertyId != null;
- PropertyId propertyId = propertyIndex2propertyId[propertyIndex];
- eReference = (EReference) NameUtil.getENamedElement(eClass.getEAllStructuralFeatures(), propertyId.getName());
- }
- assert object2oppositeObject != null;
- object2oppositeObject[propertyIndex].put((EObject)eObject.eGet(eReference), eObject);
- }
}
}
@@ -234,54 +359,13 @@ public abstract class AbstractTransformationExecutor implements TransformationEx
if (modelIndex == null) {
throw new IllegalStateException("Unknown model name '" + modelName + "'");
}
- List<EObject> eObjects = models[modelIndex].objects;
- Map<EClass, Set<Integer>> eClass2allClassIndexes = null;
- Map<EClass, List<Integer>> eClass2allPropertyIndexes = null;
- Map<EReference, Integer> eReference2propertyIndex = null;
- if ((classId2classIndexes != null) && (classIndex2objects != null)) {
- eClass2allClassIndexes = new HashMap<EClass, Set<Integer>>();
- }
- if (propertyIndex2propertyId != null) {
- eClass2allPropertyIndexes = new HashMap<EClass, List<Integer>>();
- eReference2propertyIndex = new HashMap<EReference, Integer>();
- }
- for (EObject eRootObject : eRootObjects) {
- if (eRootObject != null) {
- //
- // Accumulate the root object in the model extent
- //
- eObjects.add(eRootObject);
- //
- // Accumulate the root object and all its child objects in the allInstances() returns
- //
- if ((eClass2allClassIndexes != null) || (eClass2allPropertyIndexes != null)) {
- accumulateEObject(eClass2allClassIndexes, eClass2allPropertyIndexes, eReference2propertyIndex, eRootObject);
- for (TreeIterator<EObject> tit = eRootObject.eAllContents(); tit.hasNext(); ) {
- EObject eObject = tit.next();
- if (eObject != null) {
- accumulateEObject(eClass2allClassIndexes, eClass2allPropertyIndexes, eReference2propertyIndex, eObject);
- }
- }
- }
- }
- }
+ models[modelIndex].addRootObjects(eRootObjects);
}
@Override
public @NonNull Set<EObject> get(@NonNull org.eclipse.ocl.pivot.Class type) {
- Map<ClassId, Integer> classId2classIndex2 = classId2classIndex;
- Set<EObject>[] classIndex2objects2 = classIndex2objects;
- if ((classId2classIndex2 == null) || (classIndex2objects2 == null)) {
- throw new IllegalArgumentException("No allInstances() support");
- }
- ClassId classId = IdManager.getClassId(type);
- Integer index = classId2classIndex2.get(classId);
- if (index == null) {
- throw new IllegalArgumentException("No allInstances() support for '" + type + "'");
- }
- @SuppressWarnings("null")@NonNull Set<EObject> objects = classIndex2objects2[index];
- return objects;
- }
+ return new HashSet<EObject>(models[0].getObjectsOfKind(type));
+ }
/**
* Return the Set of all ClassIndexes to which an EClass instance contributes to allInstances() returns.
@@ -308,26 +392,10 @@ public abstract class AbstractTransformationExecutor implements TransformationEx
/**
* Return all objects in the modelIndex model that conform to eClass.
- */
- protected @NonNull <T extends EObject> List<T> getObjectsByType(@NonNull Class<T> javaClass, int modelIndex, @NonNull EClass eClass) {
-
- List<EObject> eRootObjects = models[modelIndex].objects;
- List<T> eObjects = new ArrayList<T>();
- for (EObject eRootObject : eRootObjects) {
- if (eClass.isInstance(eRootObject)) {
- @SuppressWarnings("unchecked") T eObject2 = (T)eRootObject;
- eObjects.add(eObject2);
- }
- for (TreeIterator<EObject> tit = eRootObject.eAllContents(); tit.hasNext(); ) {
- @SuppressWarnings("null")@NonNull EObject eObject = tit.next();
- if (eClass.isInstance(eObject)) {
- @SuppressWarnings("unchecked") T eObject2 = (T)eObject;
- eObjects.add(eObject2);
- }
- }
- }
- return eObjects;
- }
+ *
+ protected @NonNull <T extends EObject> List<T> getObjectsByType(int modelIndex, @NonNull EClass eClass) {
+ return models[modelIndex].getObjectsByType(eClass);
+ } */
/**
* Return the List of all PropertyIndexes for which an EClass instance could be the unnavigable opposite.
@@ -373,18 +441,11 @@ public abstract class AbstractTransformationExecutor implements TransformationEx
* Return all the containerless objects in the modelName model.
*/
@Override
- public @NonNull List<EObject> getRootObjects(@NonNull String modelName) {
+ public @NonNull Collection<EObject> getRootObjects(@NonNull String modelName) {
Integer modelIndex = modelIndexes.get(modelName);
if (modelIndex == null) {
throw new IllegalStateException("Unknown model name '" + modelName + "'");
}
- List<EObject> eObjects = models[modelIndex].objects;
- List<EObject> eRootObjects = new ArrayList<EObject>(eObjects.size());
- for (EObject eObject : eObjects) {
- if (eObject.eContainer() == null) {
- eRootObjects.add(eObject);
- }
- }
- return eRootObjects;
+ return models[modelIndex].getRootObjects();
}
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TransformationExecutor.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TransformationExecutor.java
index 2de2258c9..4cbba10b2 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TransformationExecutor.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TransformationExecutor.java
@@ -10,16 +10,15 @@
*******************************************************************************/
package org.eclipse.qvtd.pivot.qvtbase.evaluation;
-import java.util.List;
+import java.util.Collection;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.ocl.pivot.evaluation.ModelManager;
public interface TransformationExecutor extends ModelManager
-{
+{
void addRootObjects(@NonNull String modelName, @NonNull Iterable<? extends EObject> rootObjects);
- @NonNull List<EObject> getRootObjects(@NonNull String modelName);
+ @NonNull Collection<EObject> getRootObjects(@NonNull String modelName);
boolean run() throws Exception;
-
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TypedModelInstance.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TypedModelInstance.java
index c309b7e81..838cf422f 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TypedModelInstance.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/TypedModelInstance.java
@@ -10,14 +10,15 @@
*******************************************************************************/
package org.eclipse.qvtd.pivot.qvtbase.evaluation;
-import java.util.Set;
+import java.util.Collection;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.jdt.annotation.NonNull;
public interface TypedModelInstance
{
- @NonNull Set<Object> getAllObjects();
- @NonNull Set<Object> getObjectsOfKind(@NonNull org.eclipse.ocl.pivot.Class type);
- @NonNull Set<Object> getObjectsOfType(@NonNull org.eclipse.ocl.pivot.Class type);
- @NonNull Set<Object> getRootObjects();
+ @NonNull Collection<EObject> getAllObjects();
+ @NonNull Collection<EObject> getObjectsOfKind(@NonNull org.eclipse.ocl.pivot.Class type);
+ @NonNull Collection<EObject> getObjectsOfType(@NonNull org.eclipse.ocl.pivot.Class type);
+ @NonNull Collection<EObject> getRootObjects();
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbase.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbase.java
index 50377aa53..aa170d279 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbase.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbase.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2015 E.D.Willink 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.resource.ResourceSet;
@@ -9,6 +19,9 @@ import org.eclipse.ocl.pivot.internal.utilities.OCLInternal;
import org.eclipse.ocl.pivot.resource.ProjectManager;
import org.eclipse.qvtd.pivot.qvtbase.model.QVTbaseLibrary;
+/**
+ * The QVTbase facade refines the OCL facade to enforce use of the QVTbase Standard Library.
+ */
public class QVTbase extends OCLInternal
{
public static @NonNull QVTbase newInstance(@NonNull ProjectManager projectManager, @Nullable ResourceSet externalResourceSet) {
@@ -20,6 +33,7 @@ public class QVTbase extends OCLInternal
}
return qvt;
}
+
public QVTbase(@NonNull EnvironmentFactoryInternal environmentFactory) {
super(environmentFactory);
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java
index 6a2b5cf45..ff5aca0a1 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java
@@ -17,6 +17,9 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.NamedElement;
+import org.eclipse.ocl.pivot.PivotFactory;
+import org.eclipse.ocl.pivot.Variable;
+import org.eclipse.ocl.pivot.internal.complete.StandardLibraryInternal;
import org.eclipse.ocl.pivot.internal.scoping.EnvironmentView;
import org.eclipse.qvtd.pivot.qvtbase.BaseModel;
import org.eclipse.qvtd.pivot.qvtbase.Domain;
@@ -133,4 +136,34 @@ public class QVTbaseUtil
}
return null;
}
+
+ /**
+ * Return the context variable for a Transformation, creating it if not yet available.
+ */
+ public static @NonNull Variable getContextVariable(@NonNull StandardLibraryInternal standardLibrary, @NonNull Transformation transformation) {
+ Variable ownedContext = transformation.getOwnedContext();
+ if (ownedContext == null) {
+ ownedContext = PivotFactory.eINSTANCE.createVariable();
+ ownedContext.setName("this");
+ ownedContext.setType(standardLibrary.getLibraryType("Transformation"));
+ ownedContext.setIsRequired(true);
+ transformation.setOwnedContext(ownedContext);
+ }
+ return ownedContext;
+ }
+
+ /**
+ * Return the context variable for a TypedModel, creating it if not yet available.
+ */
+ public static @NonNull Variable getContextVariable(@NonNull StandardLibraryInternal standardLibrary, @NonNull TypedModel typedModel) {
+ Variable ownedContext = typedModel.getOwnedContext();
+ if (ownedContext == null) {
+ ownedContext = PivotFactory.eINSTANCE.createVariable();
+ ownedContext.setName(typedModel.getName());
+ ownedContext.setType(standardLibrary.getLibraryType("Model"));
+ ownedContext.setIsRequired(true);
+ typedModel.setOwnedContext(ownedContext);
+ }
+ return ownedContext;
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/META-INF/MANIFEST.MF b/plugins/org.eclipse.qvtd.pivot.qvtimperative/META-INF/MANIFEST.MF
index 9c2f58ffd..839778eb1 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/META-INF/MANIFEST.MF
@@ -11,6 +11,8 @@ Export-Package: org.eclipse.qvtd.pivot.qvtimperative,
org.eclipse.qvtd.pivot.qvtimperative.attributes,
org.eclipse.qvtd.pivot.qvtimperative.evaluation,
org.eclipse.qvtd.pivot.qvtimperative.impl,
+ org.eclipse.qvtd.pivot.qvtimperative.library.model,
+ org.eclipse.qvtd.pivot.qvtimperative.model,
org.eclipse.qvtd.pivot.qvtimperative.scoping,
org.eclipse.qvtd.pivot.qvtimperative.util,
org.eclipse.qvtd.pivot.qvtimperative.utilities
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/model/QVTimperativeLibrary.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/model/QVTimperativeLibrary.java
new file mode 100644
index 000000000..d0d32dfc0
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/model/QVTimperativeLibrary.java
@@ -0,0 +1,381 @@
+/*******************************************************************************
+ * Copyright (c) 2010,2015 E.D.Willink 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
+ *******************************************************************************
+ * This code is 100% auto-generated
+ * from: /org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib
+ * by: org.eclipse.ocl.examples.build.xtend.generateOCLstdlib.xtend
+ * and: org.eclipse.ocl.examples.build.GenerateOCLstdlibModel.mwe2
+ *
+ * Do not edit it.
+ *******************************************************************************/
+package org.eclipse.qvtd.pivot.qvtimperative.model;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.WeakHashMap;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.BasicEObjectImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.*;
+import org.eclipse.ocl.pivot.Class;
+import org.eclipse.ocl.pivot.Package;
+import org.eclipse.ocl.pivot.ids.IdManager;
+import org.eclipse.ocl.pivot.ids.PackageId;
+import org.eclipse.ocl.pivot.internal.library.StandardLibraryContribution;
+import org.eclipse.ocl.pivot.internal.resource.ASResourceImpl;
+import org.eclipse.ocl.pivot.internal.resource.OCLASResourceFactory;
+import org.eclipse.ocl.pivot.internal.utilities.AS2XMIid;
+import org.eclipse.ocl.pivot.internal.utilities.AbstractContents;
+import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
+import org.eclipse.ocl.pivot.utilities.ClassUtil;
+import org.eclipse.ocl.pivot.utilities.MetamodelManager;
+import org.eclipse.ocl.pivot.utilities.PivotConstants;
+import org.eclipse.ocl.pivot.utilities.PivotUtil;
+
+import org.eclipse.ocl.pivot.oclstdlib.OCLstdlibPackage;
+
+/**
+ * This is the http://www.eclipse.org/qvt/2015/QVTimperativeLibrary Standard Library
+ * auto-generated from /org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib.
+ * It facilitates efficient library loading without the overheads of model reading.
+ * <p>
+ * This Standard Library may be registered as the definition of a Standard Library for
+ * the OCL evaluation framework by invoking {@link #install}.
+ * <p>
+ * The Standard Library is normally activated when the MetamodelManager attempts
+ * to locate a library type when its default Standard Library URI is the same
+ * as this Standard Library.
+ */
+@SuppressWarnings({"nls", "unused"})
+public class QVTimperativeLibrary extends ASResourceImpl
+{
+ /**
+ * The static package-of-types pivot model of the Standard Library.
+ */
+ private static QVTimperativeLibrary INSTANCE = null;
+
+ /**
+ * The URI of this Standard Library.
+ */
+ public static final @NonNull String STDLIB_URI = "http://www.eclipse.org/qvt/2015/QVTimperativeLibrary";
+
+ /**
+ * Return the default http://www.eclipse.org/qvt/2015/QVTimperativeLibrary standard Library Resource.
+ * This static definition auto-generated from /org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib
+ * is used as the default when no overriding copy is registered.
+ * It cannot be unloaded or rather unloading has no effect.
+ */
+ public static @NonNull QVTimperativeLibrary getDefault() {
+ QVTimperativeLibrary oclstdlib = INSTANCE;
+ if (oclstdlib == null) {
+ Contents contents = new Contents("http://www.eclipse.org/qvt/2015/QVTbaseLibrary");
+ oclstdlib = INSTANCE = new QVTimperativeLibrary(STDLIB_URI + PivotConstants.DOT_OCL_AS_FILE_EXTENSION, contents.getModel());
+ }
+ return oclstdlib;
+ }
+
+ /**
+ * Return the default http://www.eclipse.org/qvt/2015/QVTimperativeLibrary standard Library model.
+ * This static definition auto-generated from /org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib
+ * is used as the default when no overriding copy is registered.
+ */
+ public static @NonNull Model getDefaultModel() {
+ Model model = (Model)(getDefault().getContents().get(0));
+ assert model != null;
+ return model;
+ }
+
+ /**
+ * Install this library in the {@link StandardLibraryContribution#REGISTRY}.
+ * This method may be invoked by standalone applications to replicate
+ * the registration that should appear as a standard_library plugin
+ * extension when running within Eclipse.
+ */
+ public static void install() {
+ StandardLibraryContribution.REGISTRY.put(STDLIB_URI, new Loader());
+ }
+
+ /**
+ * Install this library in the {@link StandardLibraryContribution#REGISTRY}
+ * unless some other library contribution has already been installed.
+ */
+ public static void lazyInstall() {
+ if (StandardLibraryContribution.REGISTRY.get(STDLIB_URI) == null) {
+ install();
+ }
+ }
+
+ /**
+ * Unnstall this library from the {@link StandardLibraryContribution#REGISTRY}.
+ * This method may be invoked by standalone applications to release the library
+ * resources for garbage collection and memory leakage detection.
+ */
+ public static void uninstall() {
+ StandardLibraryContribution.REGISTRY.remove(STDLIB_URI);
+ INSTANCE = null;
+ }
+
+ /**
+ * The Loader shares the Standard Library instance whenever this default library
+ * is loaded from the registry of Standard Libraries populated by the standard_library
+ * extension point.
+ */
+ public static class Loader implements StandardLibraryContribution
+ {
+ @Override
+ public @NonNull StandardLibraryContribution getContribution() {
+ return this;
+ }
+
+ @Override
+ public @NonNull Resource getResource() {
+ return getDefault();
+ }
+ }
+
+ /**
+ * Construct a copy of the OCL Standard Library with specified resource URI,
+ * and package name, prefix and namespace URI.
+ */
+ public static @NonNull QVTimperativeLibrary create(@NonNull String asURI) {
+ Contents contents = new Contents(asURI);
+ return new QVTimperativeLibrary(asURI, contents.getModel());
+ }
+
+ /**
+ * Construct an OCL Standard Library with specified resource URI and library content.
+ */
+ private QVTimperativeLibrary(@NonNull String asURI, @NonNull Model libraryModel) {
+ super(ClassUtil.nonNullState(URI.createURI(asURI)), OCLASResourceFactory.getInstance());
+ assert PivotUtilInternal.isASURI(asURI);
+ getContents().add(libraryModel);
+ }
+
+ /**
+ * Overridden to inhibit entry of the static shared instance in any ResourceSet.
+ */
+ @Override
+ public NotificationChain basicSetResourceSet(ResourceSet resourceSet, NotificationChain notifications) {
+ if (this != INSTANCE) {
+ return super.basicSetResourceSet(resourceSet, notifications);
+ }
+ else {
+ return notifications;
+ }
+ }
+
+ /**
+ * Overridden to inhibit unloading of the static shared instance.
+ */
+ @Override
+ protected void doUnload() {
+ if (this != INSTANCE) {
+ super.doUnload();
+ }
+ }
+
+ /**
+ * Ensure xmi:ids are auto-generated before reference.
+ */
+ @Override
+ public EObject getEObject(String uriFragment) {
+ if (getEObjectToIDMap().isEmpty()) {
+ new AS2XMIid().assignIds(this, null);
+ }
+ return super.getEObject(uriFragment);
+ }
+
+ /**
+ * Overridden to trivialise loading of the static shared instance.
+ */
+ @Override
+ public void load(Map<?, ?> options) throws IOException {
+ if (this != INSTANCE) {
+ super.load(options);
+ }
+ else {
+ setLoaded(true);
+ }
+ }
+
+ /**
+ * Overridden to inhibit unloading of the static shared instance.
+ */
+ @Override
+ protected Notification setLoaded(boolean isLoaded) {
+ if (isLoaded || (this != INSTANCE)) {
+ return super.setLoaded(isLoaded);
+ }
+ else {
+ return null;
+ }
+ }
+
+ private static class Contents extends AbstractContents
+ {
+ private final @NonNull Model model;
+ private final @NonNull Library qvtbaselibrary;
+ private final @NonNull Package orphanage;
+
+ private Contents(@NonNull String asURI)
+ {
+ model = createModel(asURI);
+ qvtbaselibrary = createLibrary("qvtbaselibrary", "qvtbaselib", "http://www.eclipse.org/qvt/2015/QVTbaseLibrary", null);
+ orphanage = createPackage("$$", "orphanage", "http://www.eclipse.org/ocl/2015/Orphanage", null);
+ installPackages();
+ installClassTypes();
+ installCollectionTypes();
+ installOperations();
+ installTemplateBindings();
+ installComments();
+ }
+
+ public @NonNull Model getModel() {
+ return model;
+ }
+
+ private final @NonNull Package _ocl = getPackage(org.eclipse.ocl.pivot.model.OCLstdlib.getDefaultModel(), "ocl");
+ private final @NonNull CollectionType _Collection = getCollectionType(_ocl, "Collection");
+ private final @NonNull AnyType _OclAny = getAnyType(_ocl, "OclAny");
+ private final @NonNull Class _OclElement = getClass(_ocl, "OclElement");
+ private final @NonNull SetType _Set = getSetType(_ocl, "Set");
+ private final @NonNull CollectionType _UniqueCollection = getCollectionType(_ocl, "UniqueCollection");
+ private final @NonNull TemplateParameter _Collection_T = getTemplateParameter(_Collection, 0);
+ private final @NonNull TemplateParameter _Set_T = getTemplateParameter(_Set, 0);
+ private final @NonNull TemplateParameter _UniqueCollection_T = getTemplateParameter(_UniqueCollection, 0);
+
+ private void installPackages() {
+ model.getOwnedPackages().add(qvtbaselibrary);
+ model.getOwnedPackages().add(orphanage);
+ model.getOwnedImports().add(createImport(null, _ocl));
+ }
+
+ private final @NonNull Class _Model = createClass("Model");
+
+ private final @NonNull TemplateParameter tp_Model_objectsOfKind_TT = createTemplateParameter("TT");
+ private final @NonNull TemplateParameter tp_Model_objectsOfType_TT = createTemplateParameter("TT");
+
+ private final @NonNull CollectionType _Collection_OclElement = createCollectionType(_Collection, _OclElement);
+ private final @NonNull CollectionType _Collection_Model_objectsOfKind_TT = createCollectionType(_Collection, tp_Model_objectsOfKind_TT);
+ private final @NonNull CollectionType _Collection_Model_objectsOfType_TT = createCollectionType(_Collection, tp_Model_objectsOfType_TT);
+ private final @NonNull SetType _Set_OclElement = createSetType(_Set, _OclElement);
+ private final @NonNull SetType _Set_Model_objectsOfKind_TT = createSetType(_Set, tp_Model_objectsOfKind_TT);
+ private final @NonNull SetType _Set_Model_objectsOfType_TT = createSetType(_Set, tp_Model_objectsOfType_TT);
+ private final @NonNull CollectionType _UniqueCollection_OclElement = createCollectionType(_UniqueCollection, _OclElement);
+ private final @NonNull CollectionType _UniqueCollection_Model_objectsOfKind_TT = createCollectionType(_UniqueCollection, tp_Model_objectsOfKind_TT);
+ private final @NonNull CollectionType _UniqueCollection_Model_objectsOfType_TT = createCollectionType(_UniqueCollection, tp_Model_objectsOfType_TT);
+
+ private void installClassTypes() {
+ List<Class> ownedClasses;
+ List<Class> superClasses;
+ Class type;
+
+ ownedClasses = qvtbaselibrary.getOwnedClasses();
+ ownedClasses.add(type = _Model);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_OclElement);
+ }
+
+ private void installCollectionTypes() {
+ List<Class> ownedClasses;
+ List<Class> superClasses;
+ CollectionType type;
+
+ ownedClasses = orphanage.getOwnedClasses();
+ ownedClasses.add(type = _Collection_OclElement);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_OclElement);
+ ownedClasses.add(type = _Collection_Model_objectsOfKind_TT);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_OclElement);
+ ownedClasses.add(type = _Collection_Model_objectsOfType_TT);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_OclElement);
+ ownedClasses.add(type = _Set_OclElement);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_UniqueCollection_OclElement);
+ ownedClasses.add(type = _Set_Model_objectsOfKind_TT);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_UniqueCollection_Model_objectsOfKind_TT);
+ ownedClasses.add(type = _Set_Model_objectsOfType_TT);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_UniqueCollection_Model_objectsOfType_TT);
+ ownedClasses.add(type = _UniqueCollection_OclElement);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_Collection_OclElement);
+ ownedClasses.add(type = _UniqueCollection_Model_objectsOfKind_TT);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_Collection_Model_objectsOfKind_TT);
+ ownedClasses.add(type = _UniqueCollection_Model_objectsOfType_TT);
+ superClasses = type.getSuperClasses();
+ superClasses.add(_Collection_Model_objectsOfType_TT);
+ }
+
+ private final @NonNull Operation op_Model_allObjects = createOperation("allObjects", _Set_OclElement, "org.eclipse.qvtd.pivot.qvtimperative.library.model.AllObjectsOperation", org.eclipse.qvtd.pivot.qvtimperative.library.model.AllObjectsOperation.INSTANCE);
+ private final @NonNull Operation op_Model_objectsOfKind = createOperation("objectsOfKind", _Set_Model_objectsOfKind_TT, "org.eclipse.qvtd.pivot.qvtimperative.library.model.ModelObjectsOfKindOperation", org.eclipse.qvtd.pivot.qvtimperative.library.model.ModelObjectsOfKindOperation.INSTANCE, tp_Model_objectsOfKind_TT);
+ private final @NonNull Operation op_Model_objectsOfType = createOperation("objectsOfType", _Set_Model_objectsOfType_TT, "org.eclipse.qvtd.pivot.qvtimperative.library.model.ModelObjectsOfTypeOperation", org.eclipse.qvtd.pivot.qvtimperative.library.model.ModelObjectsOfTypeOperation.INSTANCE, tp_Model_objectsOfType_TT);
+ private final @NonNull Operation op_Model_rootObjects = createOperation("rootObjects", _Set_OclElement, "org.eclipse.qvtd.pivot.qvtimperative.library.model.RootObjectsOperation", org.eclipse.qvtd.pivot.qvtimperative.library.model.RootObjectsOperation.INSTANCE);
+
+ private void installOperations() {
+ List<Operation> ownedOperations;
+ List<Parameter> ownedParameters;
+ Operation operation;
+ Parameter parameter;
+
+ ownedOperations = _Model.getOwnedOperations();
+ ownedOperations.add(operation = op_Model_allObjects);
+ ownedOperations.add(operation = op_Model_objectsOfKind);
+ ownedParameters = operation.getOwnedParameters();
+ ownedParameters.add(parameter = createParameter("type", tp_Model_objectsOfKind_TT, false));
+ parameter.setIsTypeof(true);
+ ownedOperations.add(operation = op_Model_objectsOfType);
+ ownedParameters = operation.getOwnedParameters();
+ ownedParameters.add(parameter = createParameter("type", tp_Model_objectsOfType_TT, false));
+ parameter.setIsTypeof(true);
+ ownedOperations.add(operation = op_Model_rootObjects);
+ }
+
+ private void installTemplateBindings() {
+ _Collection_OclElement.getOwnedBindings().add(createTemplateBinding(
+ createTemplateParameterSubstitution(_Collection_T, _OclElement)));
+ _Collection_Model_objectsOfKind_TT.getOwnedBindings().add(createTemplateBinding(
+ createTemplateParameterSubstitution(_Collection_T, tp_Model_objectsOfKind_TT)));
+ _Collection_Model_objectsOfType_TT.getOwnedBindings().add(createTemplateBinding(
+ createTemplateParameterSubstitution(_Collection_T, tp_Model_objectsOfType_TT)));
+ _Set_OclElement.getOwnedBindings().add(createTemplateBinding(
+ createTemplateParameterSubstitution(_Set_T, _OclElement)));
+ _Set_Model_objectsOfKind_TT.getOwnedBindings().add(createTemplateBinding(
+ createTemplateParameterSubstitution(_Set_T, tp_Model_objectsOfKind_TT)));
+ _Set_Model_objectsOfType_TT.getOwnedBindings().add(createTemplateBinding(
+ createTemplateParameterSubstitution(_Set_T, tp_Model_objectsOfType_TT)));
+ _UniqueCollection_OclElement.getOwnedBindings().add(createTemplateBinding(
+ createTemplateParameterSubstitution(_UniqueCollection_T, _OclElement)));
+ _UniqueCollection_Model_objectsOfKind_TT.getOwnedBindings().add(createTemplateBinding(
+ createTemplateParameterSubstitution(_UniqueCollection_T, tp_Model_objectsOfKind_TT)));
+ _UniqueCollection_Model_objectsOfType_TT.getOwnedBindings().add(createTemplateBinding(
+ createTemplateParameterSubstitution(_UniqueCollection_T, tp_Model_objectsOfType_TT)));
+ }
+
+ private void installComments() {
+ }
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.ecore b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.ecore
new file mode 100644
index 000000000..911a9a3dc
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.ecore
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ name="qvtbaselibrary" nsURI="http://www.eclipse.org/qvt/2015/QVTbaseLibrary"
+ nsPrefix="qvtbaselib">
+ <eAnnotations source="http://www.eclipse.org/OCL/ASLibrary"/>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.oclas b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.oclas
new file mode 100644
index 000000000..9fc181549
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.oclas
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pivot:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.eclipse.org/ocl/2015/Pivot"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/2015/Pivot java://org.eclipse.ocl.pivot.PivotPackage" externalURI="platform:/resource/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib" name="QVTimperativeLibrary.oclstdlib">
+ <ownedImports importedNamespace="pivot:Model ../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbaseLibrary.oclstdlib.oclas#/"/>
+ <ownedPackages xsi:type="pivot:Library" xmi:id="P.qvtbaselibrary" URI="http://www.eclipse.org/qvt/2015/QVTbaseLibrary" name="qvtbaselibrary"
+ nsPrefix="qvtbaselib">
+ <ownedClasses xmi:id="T.qvtbaselibrary.Model" name="Model" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement">
+ <ownedOperations xmi:id="o.qvtbaselibrary.Model.allObjects" implementationClass="org.eclipse.qvtd.pivot.qvtimperative.library.model.AllObjectsOperation"
+ name="allObjects" type="#//@ownedPackages.1/@ownedClasses.3"/>
+ <ownedOperations xmi:id="o.qvtbaselibrary.Model.objectsOfKind..TT" implementationClass="org.eclipse.qvtd.pivot.qvtimperative.library.model.ModelObjectsOfKindOperation"
+ name="objectsOfKind" type="#//@ownedPackages.1/@ownedClasses.4">
+ <ownedParameters xmi:id="p0o.qvtbaselibrary.Model.objectsOfKind..TT" isRequired="false" isTypeof="true" name="type" type="#t.qvtbaselibrary.Model..objectsOfKindTT"/>
+ <ownedSignature xmi:id="s.o.qvtbaselibrary.Model.objectsOfKind..TT">
+ <ownedParameters xmi:id="t.qvtbaselibrary.Model..objectsOfKindTT" name="TT"/>
+ </ownedSignature>
+ </ownedOperations>
+ <ownedOperations xmi:id="o.qvtbaselibrary.Model.objectsOfType..TT" implementationClass="org.eclipse.qvtd.pivot.qvtimperative.library.model.ModelObjectsOfTypeOperation"
+ name="objectsOfType" type="#//@ownedPackages.1/@ownedClasses.5">
+ <ownedParameters xmi:id="p0o.qvtbaselibrary.Model.objectsOfType..TT" isRequired="false" isTypeof="true" name="type" type="#t.qvtbaselibrary.Model..objectsOfTypeTT"/>
+ <ownedSignature xmi:id="s.o.qvtbaselibrary.Model.objectsOfType..TT">
+ <ownedParameters xmi:id="t.qvtbaselibrary.Model..objectsOfTypeTT" name="TT"/>
+ </ownedSignature>
+ </ownedOperations>
+ <ownedOperations xmi:id="o.qvtbaselibrary.Model.rootObjects" implementationClass="org.eclipse.qvtd.pivot.qvtimperative.library.model.RootObjectsOperation"
+ name="rootObjects" type="#//@ownedPackages.1/@ownedClasses.3"/>
+ </ownedClasses>
+ </ownedPackages>
+ <ownedPackages xmi:id="P.$$" URI="http://www.eclipse.org/ocl/2015/Orphanage" name="$$" nsPrefix="orphanage">
+ <ownedClasses xsi:type="pivot:CollectionType" elementType="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement"
+ name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" elementType="#t.qvtbaselibrary.Model..objectsOfKindTT" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny">
+ <ownedBindings>
+ <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfKindTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" elementType="#t.qvtbaselibrary.Model..objectsOfTypeTT" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny">
+ <ownedBindings>
+ <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfTypeTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" elementType="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement" name="Set"
+ superClasses="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" elementType="#t.qvtbaselibrary.Model..objectsOfKindTT" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.7">
+ <ownedBindings>
+ <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfKindTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" elementType="#t.qvtbaselibrary.Model..objectsOfTypeTT" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.8">
+ <ownedBindings>
+ <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfTypeTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" elementType="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement"
+ name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" elementType="#t.qvtbaselibrary.Model..objectsOfKindTT" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.1">
+ <ownedBindings>
+ <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfKindTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" elementType="#t.qvtbaselibrary.Model..objectsOfTypeTT" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.2">
+ <ownedBindings>
+ <ownedSubstitutions actual="#t.qvtbaselibrary.Model..objectsOfTypeTT" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ </ownedPackages>
+</pivot:Model>
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.genmodel b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.genmodel
new file mode 100644
index 000000000..a19c662be
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.genmodel
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel"
+ copyrightText="Copyright (c) 2010,2014 E.D.Willink and others.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; E.D.Willink - Initial API and implementation"
+ modelDirectory="/org.eclipse.qvtd.pivot.qvtimperative/emf-gen" editDirectory="/org.eclipse.qvtd.pivot.qvtimperative.edit/emf-gen"
+ editorDirectory="/org.eclipse.qvtd.pivot.qvtimperative.editor/emf-gen" modelPluginID="org.eclipse.qvtd.pivot.qvtimperative"
+ modelName="QVTimperativeLibrary" updateClasspath="false" nonNLSMarkers="true" suppressInterfaces="true"
+ importerID="org.eclipse.emf.importer.ecore" bundleManifest="false" complianceLevel="6.0"
+ copyrightFields="false" runtimeVersion="2.7" interfaceNamePattern="">
+ <genAnnotations source="http://www.eclipse.org/OCL/GenModel">
+ <details key="Use Delegates" value="false"/>
+ <details key="Use Null Annotations" value="true"/>
+ </genAnnotations>
+ <foreignModel>../model-gen/QVTimperativeLibrary.ecore</foreignModel>
+ <modelPluginVariables>org.eclipse.ocl.pivot</modelPluginVariables>
+ <modelPluginVariables>org.eclipse.ocl.examples.codegen</modelPluginVariables>
+ <modelPluginVariables>org.eclipse.jdt.annotation</modelPluginVariables>
+ <genPackages prefix="QVTimperativeLibrary" basePackage="org.eclipse.qvtd.pivot.qvtimperative" disposableProviderFactory="true"
+ ecorePackage="../model-gen/QVTimperativeLibrary.ecore#/"/>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib
new file mode 100644
index 000000000..f569e5417
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib
@@ -0,0 +1,11 @@
+import 'platform:/resource/org.eclipse.qvtd.pivot.qvtbase/model/QVTbaseLibrary.oclstdlib';
+
+library qvtbaselibrary : qvtbaselib = 'http://www.eclipse.org/qvt/2015/QVTbaseLibrary'
+{
+type Model : TypedModel {
+ operation allObjects() : ocl::Set(ocl::OclElement) => 'org.eclipse.qvtd.pivot.qvtimperative.library.model.AllObjectsOperation';
+ operation objectsOfKind(TT)(type : typeof(TT)) : ocl::Set(TT) => 'org.eclipse.qvtd.pivot.qvtimperative.library.model.ModelObjectsOfKindOperation';
+ operation objectsOfType(TT)(type : typeof(TT)) : ocl::Set(TT) => 'org.eclipse.qvtd.pivot.qvtimperative.library.model.ModelObjectsOfTypeOperation';
+ operation rootObjects() : ocl::Set(ocl::OclElement) => 'org.eclipse.qvtd.pivot.qvtimperative.library.model.RootObjectsOperation';
+}
+}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/plugin.xml b/plugins/org.eclipse.qvtd.pivot.qvtimperative/plugin.xml
index 8ca323edc..baf24c51b 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/plugin.xml
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/plugin.xml
@@ -57,4 +57,10 @@
<fileTypes extension="qvtias" type="text" />
</extension>
+ <extension point="org.eclipse.ocl.pivot.standard_library"
+ id="qvtimperativelibrary" name="QVTimperative Library">
+ <library uri="http://www.eclipse.org/qvt/2015/QVTimperativeLibrary"
+ class="org.eclipse.qvtd.pivot.qvtimperative.model.QVTimperativeLibrary$Loader"/>
+ </extension>
+
</plugin>
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/QVTimperativePivotStandaloneSetup.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/QVTimperativePivotStandaloneSetup.java
index 8293e0951..2e1f08002 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/QVTimperativePivotStandaloneSetup.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/QVTimperativePivotStandaloneSetup.java
@@ -17,6 +17,7 @@ import org.eclipse.emf.ecore.resource.Resource.Factory.Registry;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePivotStandaloneSetup;
+import org.eclipse.qvtd.pivot.qvtimperative.model.QVTimperativeLibrary;
import org.eclipse.qvtd.pivot.qvtimperative.scoping.QVTimperativePivotScoping;
import org.eclipse.qvtd.pivot.qvtimperative.utilities.QVTimperativeASResourceFactory;
import org.eclipse.qvtd.pivot.qvtimperative.utilities.QVTimperativeToStringVisitor;
@@ -38,6 +39,7 @@ public class QVTimperativePivotStandaloneSetup
}
public static void init() {
+ QVTimperativeLibrary.lazyInstall();
QVTcoreBasePivotStandaloneSetup.doSetup();
QVTimperativePivotScoping.init();
QVTimperativeASResourceFactory.getInstance();
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEnvironmentFactory.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEnvironmentFactory.java
index 131015c22..f5d05922d 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEnvironmentFactory.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEnvironmentFactory.java
@@ -20,13 +20,13 @@ import org.eclipse.ocl.pivot.evaluation.ModelManager;
import org.eclipse.ocl.pivot.resource.ProjectManager;
import org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory;
import org.eclipse.qvtd.pivot.qvtbase.Transformation;
-import org.eclipse.qvtd.pivot.qvtbase.model.QVTbaseLibrary;
+import org.eclipse.qvtd.pivot.qvtimperative.model.QVTimperativeLibrary;
public class QVTiEnvironmentFactory extends AbstractEnvironmentFactory {
public QVTiEnvironmentFactory(@NonNull ProjectManager projectMap, @Nullable ResourceSet externalResourceSet) {
super(projectMap, externalResourceSet);
- getStandardLibrary().setDefaultStandardLibraryURI(QVTbaseLibrary.STDLIB_URI);
+ getStandardLibrary().setDefaultStandardLibraryURI(QVTimperativeLibrary.STDLIB_URI);
}
@Override
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiModelManager.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiModelManager.java
index 444592e9d..9ffb9dab3 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiModelManager.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiModelManager.java
@@ -348,30 +348,30 @@ public class QVTiModelManager implements ModelManager
}
@Override
- public @NonNull Set<Object> getAllObjects() {
+ public @NonNull Set<EObject> getAllObjects() {
throw new UnsupportedOperationException();
}
@Override
- public @NonNull Set<Object> getObjectsOfKind(@NonNull org.eclipse.ocl.pivot.Class type) {
+ public @NonNull Set<EObject> getObjectsOfKind(@NonNull org.eclipse.ocl.pivot.Class type) {
IdResolver idResolver = modelManager.getMetamodelManager().getEnvironmentFactory().getIdResolver();
- Set<Object> results = new HashSet<Object>();
+ Set<EObject> results = new HashSet<EObject>();
Set<?> instances = modelManager.get(type);
for (Object instance : instances) {
if (instance != null) {
- results.add(idResolver.boxedValueOf(instance)); // FIXME Move to model manager
+ results.add((EObject) idResolver.ecoreValueOf(null, instance)); // FIXME Move to model manager
}
}
return results;
}
@Override
- public @NonNull Set<Object> getObjectsOfType(@NonNull org.eclipse.ocl.pivot.Class type) {
+ public @NonNull Set<EObject> getObjectsOfType(@NonNull org.eclipse.ocl.pivot.Class type) {
throw new UnsupportedOperationException();
}
@Override
- public @NonNull Set<Object> getRootObjects() {
+ public @NonNull Collection<EObject> getRootObjects() {
throw new UnsupportedOperationException();
}
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiPivotEvaluator.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiPivotEvaluator.java
index d86429afa..13c1e6968 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiPivotEvaluator.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiPivotEvaluator.java
@@ -18,14 +18,15 @@ import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.ocl.pivot.PivotFactory;
import org.eclipse.ocl.pivot.Variable;
import org.eclipse.ocl.pivot.evaluation.EvaluationEnvironment;
import org.eclipse.ocl.pivot.evaluation.EvaluationVisitor;
+import org.eclipse.ocl.pivot.internal.complete.StandardLibraryInternal;
import org.eclipse.ocl.pivot.internal.manager.PivotMetamodelManager;
import org.eclipse.ocl.pivot.utilities.NameUtil;
import org.eclipse.qvtd.pivot.qvtbase.Transformation;
import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
+import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseUtil;
/**
* A QVTiPivotEvaluator supports loading a compiled transformation and models, performing a transformation
@@ -90,25 +91,14 @@ public class QVTiPivotEvaluator implements EvaluationMonitor
public Boolean execute() {
EvaluationEnvironment evalEnv = environmentFactory.createEvaluationEnvironment(transformation, modelManager);
EvaluationVisitor visitor = environmentFactory.createEvaluationVisitor(evalEnv);
- Variable ownedContext = transformation.getOwnedContext();
- if (ownedContext == null) { // FIXME fixing missing init
- ownedContext = PivotFactory.eINSTANCE.createVariable();
- ownedContext.setName("this");
- ownedContext.setType(environmentFactory.getStandardLibrary().getLibraryType("Transformation"));
- ownedContext.setIsRequired(true);
- transformation.setOwnedContext(ownedContext);
- }
+ StandardLibraryInternal standardLibrary = environmentFactory.getStandardLibrary();
+ Variable ownedContext = QVTbaseUtil.getContextVariable(standardLibrary, transformation);
evalEnv.add(ownedContext, modelManager.getTransformationInstance(transformation));
for (TypedModel typedModel : transformation.getModelParameter()) {
- ownedContext = typedModel.getOwnedContext();
- if (ownedContext == null) {
- ownedContext = PivotFactory.eINSTANCE.createVariable();
- ownedContext.setName("this");
- ownedContext.setType(environmentFactory.getStandardLibrary().getLibraryType("Model"));
- ownedContext.setIsRequired(true);
- typedModel.setOwnedContext(ownedContext);
- }
- evalEnv.add(ownedContext, modelManager.getTypedModelInstance(typedModel));
+ if (typedModel != null) {
+ ownedContext = QVTbaseUtil.getContextVariable(standardLibrary, typedModel);
+ evalEnv.add(ownedContext, modelManager.getTypedModelInstance(typedModel));
+ }
}
return (Boolean) transformation.accept(visitor);
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTransformationAnalysis.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTransformationAnalysis.java
index 85c38afa7..d5805df90 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTransformationAnalysis.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTransformationAnalysis.java
@@ -30,6 +30,7 @@ import org.eclipse.ocl.pivot.Property;
import org.eclipse.ocl.pivot.Type;
import org.eclipse.ocl.pivot.ids.IdManager;
import org.eclipse.ocl.pivot.ids.OperationId;
+import org.eclipse.ocl.pivot.ids.TypeId;
import org.eclipse.ocl.pivot.internal.manager.PivotMetamodelManager;
import org.eclipse.ocl.pivot.internal.utilities.EnvironmentFactoryInternal;
import org.eclipse.qvtd.pivot.qvtbase.Transformation;
@@ -119,7 +120,10 @@ public class QVTiTransformationAnalysis
// - identify all assigned PropertyCallExp and allocate a cacheIndex
//
Type oclElementType = environmentFactory.getStandardLibrary().getOclElementType();
+ Type modelType = environmentFactory.getStandardLibrary().getLibraryType("Model");
OperationId allInstancesOperationId = oclElementType.getTypeId().getOperationId(0, "allInstances", IdManager.getParametersId());
+ OperationId objectsOfKindOperationId = modelType.getTypeId().getOperationId(1, "objectsOfKind", IdManager.getParametersId(TypeId.T_1));
+ OperationId objectsOfTypeOperationId = modelType.getTypeId().getOperationId(1, "objectsOfType", IdManager.getParametersId(TypeId.T_1));
List<PropertyAssignment> propertyAssignments = new ArrayList<PropertyAssignment>();
for (TreeIterator<EObject> tit = transformation.eAllContents(); tit.hasNext(); ) {
EObject eObject = tit.next();
@@ -137,15 +141,30 @@ public class QVTiTransformationAnalysis
else if (eObject instanceof OperationCallExp) {
OperationCallExp operationCallExp = (OperationCallExp)eObject;
Operation referredOperation = operationCallExp.getReferredOperation();
- if ((referredOperation != null) && (referredOperation.getOperationId() == allInstancesOperationId)) {
- OCLExpression source = operationCallExp.getOwnedSource();
- if (source != null) {
- Type sourceType = source.getTypeValue();
- if (sourceType == null) {
- sourceType = source.getType();
+ if (referredOperation != null) {
+ OperationId operationId = referredOperation.getOperationId();
+ if (operationId == allInstancesOperationId) {
+ OCLExpression source = operationCallExp.getOwnedSource();
+ if (source != null) {
+ Type sourceType = source.getTypeValue();
+ if (sourceType == null) {
+ sourceType = source.getType();
+ }
+ if (sourceType instanceof org.eclipse.ocl.pivot.Class) {
+ allInstancesClasses.add((org.eclipse.ocl.pivot.Class)sourceType);
+ }
}
- if (sourceType instanceof org.eclipse.ocl.pivot.Class) {
- allInstancesClasses.add((org.eclipse.ocl.pivot.Class)sourceType);
+ }
+ else if ((operationId == objectsOfKindOperationId) || (operationId == objectsOfTypeOperationId)) {
+ OCLExpression argument = operationCallExp.getOwnedArguments().get(0);
+ if (argument != null) {
+ Type argumentType = argument.getTypeValue();
+ if (argumentType == null) {
+ argumentType = argument.getType();
+ }
+ if (argumentType instanceof org.eclipse.ocl.pivot.Class) {
+ allInstancesClasses.add((org.eclipse.ocl.pivot.Class)argumentType);
+ }
}
}
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/AllObjectsOperation.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/AllObjectsOperation.java
index dd7b3d438..691e190b1 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/AllObjectsOperation.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/AllObjectsOperation.java
@@ -8,10 +8,11 @@
* Contributors:
* E.D.Willink - Initial API and implementation
*******************************************************************************/
-package org.eclipse.qvtd.pivot.qvtbase.library.model;
+package org.eclipse.qvtd.pivot.qvtimperative.library.model;
-import java.util.Set;
+import java.util.Collection;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.evaluation.Evaluator;
@@ -36,7 +37,7 @@ public class AllObjectsOperation extends AbstractUnaryOperation
throw new InvalidValueException(PivotMessages.TypedValueRequired, "TypedModelInstance", getTypeName(sourceVal));
}
TypedModelInstance typedModelInstance = (TypedModelInstance)sourceVal;
- Set<Object> results = typedModelInstance.getAllObjects();
+ Collection<EObject> results = typedModelInstance.getAllObjects();
return createSetValue((CollectionTypeId)returnTypeId, results);
}
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/ModelObjectsOfKindOperation.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfKindOperation.java
index 68b2cba3d..218df9e16 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/ModelObjectsOfKindOperation.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfKindOperation.java
@@ -8,10 +8,11 @@
* Contributors:
* E.D.Willink - Initial API and implementation
*******************************************************************************/
-package org.eclipse.qvtd.pivot.qvtbase.library.model;
+package org.eclipse.qvtd.pivot.qvtimperative.library.model;
-import java.util.Set;
+import java.util.Collection;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.evaluation.Evaluator;
@@ -37,7 +38,7 @@ public class ModelObjectsOfKindOperation extends AbstractBinaryOperation
throw new InvalidValueException(PivotMessages.TypedValueRequired, "TypedModelInstance", getTypeName(sourceVal));
}
TypedModelInstance typedModelInstance = (TypedModelInstance)sourceVal;
- Set<Object> results = typedModelInstance.getObjectsOfKind(type);
+ Collection<EObject> results = typedModelInstance.getObjectsOfKind(type);
return createSetValue((CollectionTypeId)returnTypeId, results);
}
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/ModelObjectsOfTypeOperation.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfTypeOperation.java
index c339586eb..130da03d1 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/ModelObjectsOfTypeOperation.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfTypeOperation.java
@@ -8,10 +8,11 @@
* Contributors:
* E.D.Willink - Initial API and implementation
*******************************************************************************/
-package org.eclipse.qvtd.pivot.qvtbase.library.model;
+package org.eclipse.qvtd.pivot.qvtimperative.library.model;
-import java.util.Set;
+import java.util.Collection;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.evaluation.Evaluator;
@@ -37,7 +38,7 @@ public class ModelObjectsOfTypeOperation extends AbstractBinaryOperation
throw new InvalidValueException(PivotMessages.TypedValueRequired, "TypedModelInstance", getTypeName(sourceVal));
}
TypedModelInstance typedModelInstance = (TypedModelInstance)sourceVal;
- Set<Object> results = typedModelInstance.getObjectsOfType(type);
+ Collection<EObject> results = typedModelInstance.getObjectsOfType(type);
return createSetValue((CollectionTypeId)returnTypeId, results);
}
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/RootObjectsOperation.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/RootObjectsOperation.java
index 343f6a457..f2d89d80a 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/library/model/RootObjectsOperation.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/RootObjectsOperation.java
@@ -1,7 +1,8 @@
-package org.eclipse.qvtd.pivot.qvtbase.library.model;
+package org.eclipse.qvtd.pivot.qvtimperative.library.model;
-import java.util.Set;
+import java.util.Collection;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.evaluation.Evaluator;
@@ -26,7 +27,7 @@ public class RootObjectsOperation extends AbstractUnaryOperation
throw new InvalidValueException(PivotMessages.TypedValueRequired, "TypedModelInstance", getTypeName(sourceVal));
}
TypedModelInstance typedModelInstance = (TypedModelInstance)sourceVal;
- Set<Object> results = typedModelInstance.getRootObjects();
+ Collection<EObject> results = typedModelInstance.getRootObjects();
return createSetValue((CollectionTypeId)returnTypeId, results);
}
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/utilities/QVTimperative.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/utilities/QVTimperative.java
new file mode 100644
index 000000000..5f24376f2
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/utilities/QVTimperative.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2015 E.D.Willink 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.qvtimperative.utilities;
+
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.pivot.internal.resource.ASResourceFactoryRegistry;
+import org.eclipse.ocl.pivot.internal.utilities.EnvironmentFactoryInternal;
+import org.eclipse.ocl.pivot.resource.ProjectManager;
+import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbase;
+import org.eclipse.qvtd.pivot.qvtimperative.model.QVTimperativeLibrary;
+
+/**
+ * The QVTimperative facade refines the QVTbase and OCL facades to enforce use of the QVTimperative Standard Library.
+ */
+public class QVTimperative extends QVTbase
+{
+ public static @NonNull QVTimperative newInstance(@NonNull ProjectManager projectManager, @Nullable ResourceSet externalResourceSet) {
+ EnvironmentFactoryInternal environmentFactory = ASResourceFactoryRegistry.INSTANCE.createEnvironmentFactory(projectManager, externalResourceSet);
+ environmentFactory.getStandardLibrary().setDefaultStandardLibraryURI(QVTimperativeLibrary.STDLIB_URI);
+ QVTimperative qvt = new QVTimperative(environmentFactory);
+ if (externalResourceSet != null) {
+ environmentFactory.adapt(externalResourceSet);
+ }
+ return qvt;
+ }
+
+ public QVTimperative(@NonNull EnvironmentFactoryInternal environmentFactory) {
+ super(environmentFactory);
+ }
+
+// @Override
+// public @NonNull QVTiEnvironmentFactory getEnvironmentFactory() {
+// return (QVTiEnvironmentFactory) super.getEnvironmentFactory();
+// }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreGrammarResource.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreGrammarResource.java
index edc20b668..f7055efac 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreGrammarResource.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreGrammarResource.java
@@ -24,6 +24,7 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.ocl.xtext.base.utilities.AbstractGrammarResource;
import org.eclipse.xtext.AbstractMetamodelDeclaration;
import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.EnumRule;
import org.eclipse.xtext.Grammar;
import org.eclipse.xtext.ParserRule;
import org.eclipse.xtext.ReferencedMetamodel;
@@ -40,7 +41,7 @@ import com.google.inject.Singleton;
* <p>
* The grammar is immutable and is available as static INSTANCE and GRAMMAR fields.
*/
-@SuppressWarnings("nls")
+@SuppressWarnings({"nls", "unused"})
public class QVTcoreGrammarResource extends AbstractGrammarResource
{
private static final @NonNull Grammar G_QVTcore = createGrammar("org.eclipse.qvtd.xtext.qvtcore.QVTcore");
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreStandaloneSetupGenerated.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreStandaloneSetupGenerated.java
index 027d37f0d..b351483fa 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreStandaloneSetupGenerated.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/src-gen/org/eclipse/qvtd/xtext/qvtcore/QVTcoreStandaloneSetupGenerated.java
@@ -4,17 +4,29 @@
package org.eclipse.qvtd.xtext.qvtcore;
import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.ISetup;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.xtext.ISetupExtension;
import com.google.inject.Guice;
import com.google.inject.Injector;
+import java.util.List;
+import java.util.Arrays;
+
/**
* Generated from StandaloneSetup.xpt!
*/
@SuppressWarnings("all")
-public class QVTcoreStandaloneSetupGenerated implements ISetup {
+public class QVTcoreStandaloneSetupGenerated implements ISetup, ISetupExtension {
+
+ /**
+ * @since 2.9
+ */
+ @Override
+ public List<String> getFileExtensions() {
+ return Arrays.asList("qvtc");
+ }
@Override
public Injector createInjectorAndDoEMFRegistration() {
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseGrammarResource.java b/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseGrammarResource.java
index 5dd0b8256..5aa061849 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseGrammarResource.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseGrammarResource.java
@@ -24,6 +24,7 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.ocl.xtext.base.utilities.AbstractGrammarResource;
import org.eclipse.xtext.AbstractMetamodelDeclaration;
import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.EnumRule;
import org.eclipse.xtext.Grammar;
import org.eclipse.xtext.ParserRule;
import org.eclipse.xtext.ReferencedMetamodel;
@@ -40,7 +41,7 @@ import com.google.inject.Singleton;
* <p>
* The grammar is immutable and is available as static INSTANCE and GRAMMAR fields.
*/
-@SuppressWarnings("nls")
+@SuppressWarnings({"nls", "unused"})
public class QVTcoreBaseGrammarResource extends AbstractGrammarResource
{
private static final @NonNull Grammar G_QVTcoreBase = createGrammar("org.eclipse.qvtd.xtext.qvtcorebase.QVTcoreBase");
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseStandaloneSetupGenerated.java b/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseStandaloneSetupGenerated.java
index 2aca56a6e..66e9e6b9f 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseStandaloneSetupGenerated.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src-gen/org/eclipse/qvtd/xtext/qvtcorebase/QVTcoreBaseStandaloneSetupGenerated.java
@@ -4,17 +4,29 @@
package org.eclipse.qvtd.xtext.qvtcorebase;
import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.ISetup;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.xtext.ISetupExtension;
import com.google.inject.Guice;
import com.google.inject.Injector;
+import java.util.List;
+import java.util.Arrays;
+
/**
* Generated from StandaloneSetup.xpt!
*/
@SuppressWarnings("all")
-public class QVTcoreBaseStandaloneSetupGenerated implements ISetup {
+public class QVTcoreBaseStandaloneSetupGenerated implements ISetup, ISetupExtension {
+
+ /**
+ * @since 2.9
+ */
+ @Override
+ public List<String> getFileExtensions() {
+ return Arrays.asList("qvtcb");
+ }
@Override
public Injector createInjectorAndDoEMFRegistration() {
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src/org/eclipse/qvtd/xtext/qvtcorebase/cs2as/QVTcoreBaseCSLeft2RightVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src/org/eclipse/qvtd/xtext/qvtcorebase/cs2as/QVTcoreBaseCSLeft2RightVisitor.java
index 31ae59ae4..ca01d8728 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src/org/eclipse/qvtd/xtext/qvtcorebase/cs2as/QVTcoreBaseCSLeft2RightVisitor.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcorebase/src/org/eclipse/qvtd/xtext/qvtcorebase/cs2as/QVTcoreBaseCSLeft2RightVisitor.java
@@ -151,11 +151,11 @@ public class QVTcoreBaseCSLeft2RightVisitor extends AbstractQVTcoreBaseCSLeft2Ri
@Override
protected Element resolveSimpleNameExp(@NonNull NameExpCS csNameExp, @NonNull Element element) {
if (element instanceof Transformation) {
- Variable ownedContext = ((Transformation)element).getOwnedContext();
+ Variable ownedContext = QVTbaseUtil.getContextVariable(standardLibrary, (Transformation) element);
return resolveVariableExp(csNameExp, ownedContext);
}
else if (element instanceof TypedModel) {
- Variable ownedContext = ((TypedModel)element).getOwnedContext();
+ Variable ownedContext = QVTbaseUtil.getContextVariable(standardLibrary, (TypedModel) element);
return resolveVariableExp(csNameExp, ownedContext);
}
return super.resolveSimpleNameExp(csNameExp, element);
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeLexer.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeLexer.java
index 5cd61c8df..d1a1d70ef 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeLexer.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeLexer.java
@@ -3125,111 +3125,19 @@ public class InternalQVTimperativeLexer extends Lexer {
protected DFA11 dfa11 = new DFA11(this);
static final String DFA11_eotS =
- "\1\uffff\1\73\1\uffff\11\77\1\120\1\77\1\uffff\1\126\1\130\1\132"+
- "\1\136\1\uffff\3\77\1\144\1\150\11\77\3\uffff\2\77\3\uffff\2\77"+
- "\2\uffff\1\77\1\70\1\77\1\uffff\2\70\1\77\10\uffff\2\77\1\uffff"+
- "\4\77\1\u0094\1\u0095\10\77\3\uffff\2\77\15\uffff\1\77\1\u00a3\1"+
- "\77\6\uffff\14\77\3\uffff\3\77\3\uffff\2\77\2\uffff\1\77\1\uffff"+
- "\1\77\6\uffff\11\77\2\uffff\1\77\1\u00c4\1\u00c5\7\77\1\u00cd\1"+
- "\77\1\u00cf\1\uffff\1\u00d0\1\u00d1\2\77\1\u00d4\3\77\1\u00d8\6"+
- "\77\1\u00e1\2\77\1\u00e4\3\77\1\u00e8\2\77\1\u00ec\6\77\2\uffff"+
- "\4\77\1\u00f7\1\u00f8\1\u00f9\1\uffff\1\u00fa\3\uffff\2\77\1\uffff"+
- "\1\77\1\u00fe\1\77\1\uffff\10\77\1\uffff\2\77\1\uffff\1\u010a\1"+
- "\77\1\u010c\1\uffff\1\77\1\u010e\1\77\1\uffff\6\77\1\u0116\3\77"+
- "\4\uffff\1\u011a\2\77\1\uffff\10\77\1\u0125\1\u0126\1\77\1\uffff"+
- "\1\77\1\uffff\1\77\1\uffff\1\u012a\1\77\1\u012d\4\77\1\uffff\3\77"+
- "\1\uffff\2\77\1\u0137\2\77\1\u013a\4\77\2\uffff\1\u013f\1\77\1\u0141"+
- "\1\uffff\1\u0142\1\u0143\1\uffff\1\u0144\1\u0145\1\77\1\u0147\1"+
- "\u0148\1\u0149\1\77\1\u014b\1\u014c\1\uffff\2\77\1\uffff\1\77\1"+
- "\u0150\2\77\1\uffff\1\u0153\5\uffff\1\u0154\3\uffff\1\77\2\uffff"+
- "\1\u0156\2\77\1\uffff\2\77\2\uffff\1\77\1\uffff\6\77\1\u0162\1\u0163"+
- "\1\u0164\2\77\3\uffff\4\77\1\u016b\1\77\1\uffff\1\77\1\u016e\1\uffff";
+ "\1\uffff\1\73\1\uffff\11\77\1\120\1\77\1\uffff\1\126\1\130\1\132\1\136\1\uffff\3\77\1\144\1\150\11\77\3\uffff\2\77\3\uffff\2\77\2\uffff\1\77\1\70\1\77\1\uffff\2\70\1\77\10\uffff\2\77\1\uffff\4\77\1\u0094\1\u0095\10\77\3\uffff\2\77\15\uffff\1\77\1\u00a3\1\77\6\uffff\14\77\3\uffff\3\77\3\uffff\2\77\2\uffff\1\77\1\uffff\1\77\6\uffff\11\77\2\uffff\1\77\1\u00c4\1\u00c5\7\77\1\u00cd\1\77\1\u00cf\1\uffff\1\u00d0\1\u00d1\2\77\1\u00d4\3\77\1\u00d8\6\77\1\u00e1\2\77\1\u00e4\3\77\1\u00e8\2\77\1\u00ec\6\77\2\uffff\4\77\1\u00f7\1\u00f8\1\u00f9\1\uffff\1\u00fa\3\uffff\2\77\1\uffff\1\77\1\u00fe\1\77\1\uffff\10\77\1\uffff\2\77\1\uffff\1\u010a\1\77\1\u010c\1\uffff\1\77\1\u010e\1\77\1\uffff\6\77\1\u0116\3\77\4\uffff\1\u011a\2\77\1\uffff\10\77\1\u0125\1\u0126\1\77\1\uffff\1\77\1\uffff\1\77\1\uffff\1\u012a\1\77\1\u012d\4\77\1\uffff\3\77\1\uffff\2\77\1\u0137\2\77\1\u013a\4\77\2\uffff\1\u013f\1\77\1\u0141\1\uffff\1\u0142\1\u0143\1\uffff\1\u0144\1\u0145\1\77\1\u0147\1\u0148\1\u0149\1\77\1\u014b\1\u014c\1\uffff\2\77\1\uffff\1\77\1\u0150\2\77\1\uffff\1\u0153\5\uffff\1\u0154\3\uffff\1\77\2\uffff\1\u0156\2\77\1\uffff\2\77\2\uffff\1\77\1\uffff\6\77\1\u0162\1\u0163\1\u0164\2\77\3\uffff\4\77\1\u016b\1\77\1\uffff\1\77\1\u016e\1\uffff";
static final String DFA11_eofS =
"\u016f\uffff";
static final String DFA11_minS =
- "\1\0\1\72\1\uffff\1\141\1\154\1\146\1\145\1\141\1\165\1\145\1\150"+
- "\1\163\1\55\1\157\1\uffff\1\47\1\53\1\75\1\55\1\uffff\1\156\1\162"+
- "\1\157\1\56\1\55\1\141\1\165\1\141\1\156\2\145\1\156\1\143\1\157"+
- "\3\uffff\1\150\1\141\3\uffff\1\141\1\162\2\uffff\1\145\1\46\1\145"+
- "\1\uffff\2\0\1\47\10\uffff\1\145\1\154\1\uffff\1\144\1\163\1\164"+
- "\1\160\2\60\1\142\1\164\1\160\1\145\2\141\2\145\3\uffff\1\164\1"+
- "\154\15\uffff\1\144\1\60\1\162\6\uffff\2\160\1\157\1\147\1\164\1"+
- "\141\1\162\1\161\2\154\1\144\1\154\3\uffff\1\145\1\162\1\154\3\uffff"+
- "\1\155\1\145\2\uffff\1\154\1\uffff\1\146\6\uffff\1\143\1\154\1\157"+
- "\1\151\2\145\1\154\1\141\1\151\2\uffff\1\162\2\60\1\162\1\154\1"+
- "\151\1\156\1\145\1\156\1\163\1\60\1\154\1\60\1\uffff\2\60\2\154"+
- "\1\60\1\145\1\154\1\151\1\60\1\165\1\151\1\101\1\145\1\154\1\162"+
- "\1\60\1\163\1\142\1\60\1\146\1\141\1\153\1\60\1\162\1\146\1\60\1"+
- "\156\1\162\1\151\1\154\1\156\1\141\2\uffff\1\171\1\151\1\156\1\163"+
- "\3\60\1\uffff\1\60\3\uffff\2\145\1\uffff\1\147\1\60\1\156\1\uffff"+
- "\1\145\1\155\2\156\1\157\1\162\2\145\1\uffff\1\145\1\144\1\uffff"+
- "\1\60\1\165\1\60\1\uffff\1\143\1\60\1\146\1\uffff\1\144\1\164\1"+
- "\145\2\151\1\162\1\60\1\172\1\145\1\146\4\uffff\1\60\1\141\1\145"+
- "\1\uffff\1\147\1\156\1\151\1\171\1\166\1\151\1\145\1\143\2\60\1"+
- "\141\1\uffff\1\154\1\uffff\1\145\1\uffff\1\60\1\163\1\60\1\163\1"+
- "\144\1\164\1\171\1\uffff\1\145\1\163\1\157\1\uffff\1\156\1\162\1"+
- "\60\1\143\1\164\1\60\1\141\2\144\1\164\2\uffff\1\60\1\164\1\60\1"+
- "\uffff\2\60\1\uffff\2\60\1\145\3\60\1\162\2\60\1\uffff\2\145\1\uffff"+
- "\1\154\1\60\1\123\1\151\1\uffff\1\60\5\uffff\1\60\3\uffff\1\155"+
- "\2\uffff\1\60\1\144\1\151\1\uffff\1\145\1\157\2\uffff\1\141\1\uffff"+
- "\1\116\1\144\1\164\1\156\1\164\1\141\3\60\1\151\1\164\3\uffff\1"+
- "\157\1\165\1\156\1\162\1\60\1\141\1\uffff\1\154\1\60\1\uffff";
+ "\1\0\1\72\1\uffff\1\141\1\154\1\146\1\145\1\141\1\165\1\145\1\150\1\163\1\55\1\157\1\uffff\1\47\1\53\1\75\1\55\1\uffff\1\156\1\162\1\157\1\56\1\55\1\141\1\165\1\141\1\156\2\145\1\156\1\143\1\157\3\uffff\1\150\1\141\3\uffff\1\141\1\162\2\uffff\1\145\1\46\1\145\1\uffff\2\0\1\47\10\uffff\1\145\1\154\1\uffff\1\144\1\163\1\164\1\160\2\60\1\142\1\164\1\160\1\145\2\141\2\145\3\uffff\1\164\1\154\15\uffff\1\144\1\60\1\162\6\uffff\2\160\1\157\1\147\1\164\1\141\1\162\1\161\2\154\1\144\1\154\3\uffff\1\145\1\162\1\154\3\uffff\1\155\1\145\2\uffff\1\154\1\uffff\1\146\6\uffff\1\143\1\154\1\157\1\151\2\145\1\154\1\141\1\151\2\uffff\1\162\2\60\1\162\1\154\1\151\1\156\1\145\1\156\1\163\1\60\1\154\1\60\1\uffff\2\60\2\154\1\60\1\145\1\154\1\151\1\60\1\165\1\151\1\101\1\145\1\154\1\162\1\60\1\163\1\142\1\60\1\146\1\141\1\153\1\60\1\162\1\146\1\60\1\156\1\162\1\151\1\154\1\156\1\141\2\uffff\1\171\1\151\1\156\1\163\3\60\1\uffff\1\60\3\uffff\2\145\1\uffff\1\147\1\60\1\156\1\uffff\1\145\1\155\2\156\1\157\1\162\2\145\1\uffff\1\145\1\144\1\uffff\1\60\1\165\1\60\1\uffff\1\143\1\60\1\146\1\uffff\1\144\1\164\1\145\2\151\1\162\1\60\1\172\1\145\1\146\4\uffff\1\60\1\141\1\145\1\uffff\1\147\1\156\1\151\1\171\1\166\1\151\1\145\1\143\2\60\1\141\1\uffff\1\154\1\uffff\1\145\1\uffff\1\60\1\163\1\60\1\163\1\144\1\164\1\171\1\uffff\1\145\1\163\1\157\1\uffff\1\156\1\162\1\60\1\143\1\164\1\60\1\141\2\144\1\164\2\uffff\1\60\1\164\1\60\1\uffff\2\60\1\uffff\2\60\1\145\3\60\1\162\2\60\1\uffff\2\145\1\uffff\1\154\1\60\1\123\1\151\1\uffff\1\60\5\uffff\1\60\3\uffff\1\155\2\uffff\1\60\1\144\1\151\1\uffff\1\145\1\157\2\uffff\1\141\1\uffff\1\116\1\144\1\164\1\156\1\164\1\141\3\60\1\151\1\164\3\uffff\1\157\1\165\1\156\1\162\1\60\1\141\1\uffff\1\154\1\60\1\uffff";
static final String DFA11_maxS =
- "\1\uffff\1\75\1\uffff\1\150\1\170\1\156\1\151\1\141\1\165\1\145"+
- "\1\162\1\163\1\76\1\165\1\uffff\1\52\1\53\1\75\1\76\1\uffff\1\156"+
- "\1\162\1\157\1\56\1\75\1\141\1\165\1\157\1\156\1\145\1\164\1\156"+
- "\1\162\1\157\3\uffff\1\150\1\157\3\uffff\1\141\1\162\2\uffff\1\145"+
- "\1\46\1\145\1\uffff\2\uffff\1\47\10\uffff\1\145\1\154\1\uffff\1"+
- "\146\1\163\1\164\1\160\2\172\1\142\1\164\1\160\1\145\1\146\1\165"+
- "\2\145\3\uffff\1\164\1\154\15\uffff\1\144\1\172\1\162\6\uffff\2"+
- "\160\1\157\1\147\1\164\1\141\1\162\1\164\2\154\1\144\1\154\3\uffff"+
- "\1\145\1\162\1\154\3\uffff\1\155\1\145\2\uffff\1\154\1\uffff\1\146"+
- "\6\uffff\1\143\1\154\1\157\1\151\2\145\1\157\1\141\1\151\2\uffff"+
- "\1\162\2\172\1\162\1\154\1\151\1\156\1\145\1\156\1\163\1\172\1\154"+
- "\1\172\1\uffff\2\172\2\154\1\172\1\145\1\154\1\151\1\172\1\165\1"+
- "\151\1\126\1\145\1\154\1\162\1\172\1\163\1\142\1\172\1\146\1\141"+
- "\1\153\1\172\1\162\1\146\1\172\1\156\1\162\1\151\1\154\1\156\1\141"+
- "\2\uffff\1\171\1\151\1\156\1\163\3\172\1\uffff\1\172\3\uffff\2\145"+
- "\1\uffff\1\147\1\172\1\156\1\uffff\1\145\1\155\2\156\1\157\1\162"+
- "\2\145\1\uffff\1\145\1\144\1\uffff\1\172\1\165\1\172\1\uffff\1\143"+
- "\1\172\1\146\1\uffff\1\144\1\164\1\145\2\151\1\162\2\172\1\145\1"+
- "\146\4\uffff\1\172\1\141\1\145\1\uffff\1\147\1\156\1\151\1\171\1"+
- "\166\1\151\1\145\1\143\2\172\1\141\1\uffff\1\154\1\uffff\1\145\1"+
- "\uffff\1\172\1\163\1\172\1\163\1\144\1\164\1\171\1\uffff\1\145\1"+
- "\163\1\157\1\uffff\1\156\1\162\1\172\1\143\1\164\1\172\1\141\2\144"+
- "\1\164\2\uffff\1\172\1\164\1\172\1\uffff\2\172\1\uffff\2\172\1\145"+
- "\3\172\1\162\2\172\1\uffff\2\145\1\uffff\1\154\1\172\1\123\1\151"+
- "\1\uffff\1\172\5\uffff\1\172\3\uffff\1\155\2\uffff\1\172\1\144\1"+
- "\151\1\uffff\1\145\1\157\2\uffff\1\141\1\uffff\1\116\1\144\1\164"+
- "\1\156\1\164\1\141\3\172\1\151\1\164\3\uffff\1\157\1\165\1\156\1"+
- "\162\1\172\1\141\1\uffff\1\154\1\172\1\uffff";
+ "\1\uffff\1\75\1\uffff\1\150\1\170\1\156\1\151\1\141\1\165\1\145\1\162\1\163\1\76\1\165\1\uffff\1\52\1\53\1\75\1\76\1\uffff\1\156\1\162\1\157\1\56\1\75\1\141\1\165\1\157\1\156\1\145\1\164\1\156\1\162\1\157\3\uffff\1\150\1\157\3\uffff\1\141\1\162\2\uffff\1\145\1\46\1\145\1\uffff\2\uffff\1\47\10\uffff\1\145\1\154\1\uffff\1\146\1\163\1\164\1\160\2\172\1\142\1\164\1\160\1\145\1\146\1\165\2\145\3\uffff\1\164\1\154\15\uffff\1\144\1\172\1\162\6\uffff\2\160\1\157\1\147\1\164\1\141\1\162\1\164\2\154\1\144\1\154\3\uffff\1\145\1\162\1\154\3\uffff\1\155\1\145\2\uffff\1\154\1\uffff\1\146\6\uffff\1\143\1\154\1\157\1\151\2\145\1\157\1\141\1\151\2\uffff\1\162\2\172\1\162\1\154\1\151\1\156\1\145\1\156\1\163\1\172\1\154\1\172\1\uffff\2\172\2\154\1\172\1\145\1\154\1\151\1\172\1\165\1\151\1\126\1\145\1\154\1\162\1\172\1\163\1\142\1\172\1\146\1\141\1\153\1\172\1\162\1\146\1\172\1\156\1\162\1\151\1\154\1\156\1\141\2\uffff\1\171\1\151\1\156\1\163\3\172\1\uffff\1\172\3\uffff\2\145\1\uffff\1\147\1\172\1\156\1\uffff\1\145\1\155\2\156\1\157\1\162\2\145\1\uffff\1\145\1\144\1\uffff\1\172\1\165\1\172\1\uffff\1\143\1\172\1\146\1\uffff\1\144\1\164\1\145\2\151\1\162\2\172\1\145\1\146\4\uffff\1\172\1\141\1\145\1\uffff\1\147\1\156\1\151\1\171\1\166\1\151\1\145\1\143\2\172\1\141\1\uffff\1\154\1\uffff\1\145\1\uffff\1\172\1\163\1\172\1\163\1\144\1\164\1\171\1\uffff\1\145\1\163\1\157\1\uffff\1\156\1\162\1\172\1\143\1\164\1\172\1\141\2\144\1\164\2\uffff\1\172\1\164\1\172\1\uffff\2\172\1\uffff\2\172\1\145\3\172\1\162\2\172\1\uffff\2\145\1\uffff\1\154\1\172\1\123\1\151\1\uffff\1\172\5\uffff\1\172\3\uffff\1\155\2\uffff\1\172\1\144\1\151\1\uffff\1\145\1\157\2\uffff\1\141\1\uffff\1\116\1\144\1\164\1\156\1\164\1\141\3\172\1\151\1\164\3\uffff\1\157\1\165\1\156\1\162\1\172\1\141\1\uffff\1\154\1\172\1\uffff";
static final String DFA11_acceptS =
- "\2\uffff\1\2\13\uffff\1\20\4\uffff\1\27\16\uffff\1\61\1\62\1\63"+
- "\2\uffff\1\71\1\72\1\73\2\uffff\1\104\1\105\3\uffff\1\124\3\uffff"+
- "\1\130\1\132\1\135\1\136\1\1\1\74\1\70\1\2\2\uffff\1\130\16\uffff"+
- "\1\36\1\134\1\16\2\uffff\1\20\1\127\1\133\1\21\1\76\1\22\1\25\1"+
- "\23\1\26\1\30\1\100\1\24\1\27\3\uffff\1\75\1\35\1\37\1\40\1\121"+
- "\1\60\14\uffff\1\61\1\62\1\63\3\uffff\1\71\1\72\1\73\2\uffff\1\104"+
- "\1\105\1\uffff\1\116\1\uffff\1\124\1\125\1\126\1\131\1\132\1\135"+
- "\11\uffff\1\64\1\106\15\uffff\1\32\40\uffff\1\113\1\10\7\uffff\1"+
- "\17\1\uffff\1\31\1\33\1\41\2\uffff\1\54\3\uffff\1\53\10\uffff\1"+
- "\67\2\uffff\1\103\3\uffff\1\66\3\uffff\1\110\12\uffff\1\122\1\107"+
- "\1\15\1\102\3\uffff\1\45\13\uffff\1\114\1\uffff\1\3\1\uffff\1\111"+
- "\7\uffff\1\11\3\uffff\1\42\12\uffff\1\65\1\123\3\uffff\1\112\2\uffff"+
- "\1\5\11\uffff\1\46\2\uffff\1\50\4\uffff\1\77\1\uffff\1\4\1\115\1"+
- "\6\1\34\1\101\1\uffff\1\7\1\12\1\13\1\uffff\1\43\1\44\3\uffff\1"+
- "\52\2\uffff\1\117\1\120\1\uffff\1\55\13\uffff\1\51\1\57\1\56\6\uffff"+
- "\1\14\2\uffff\1\47";
+ "\2\uffff\1\2\13\uffff\1\20\4\uffff\1\27\16\uffff\1\61\1\62\1\63\2\uffff\1\71\1\72\1\73\2\uffff\1\104\1\105\3\uffff\1\124\3\uffff\1\130\1\132\1\135\1\136\1\1\1\74\1\70\1\2\2\uffff\1\130\16\uffff\1\36\1\134\1\16\2\uffff\1\20\1\127\1\133\1\21\1\76\1\22\1\25\1\23\1\26\1\30\1\100\1\24\1\27\3\uffff\1\75\1\35\1\37\1\40\1\121\1\60\14\uffff\1\61\1\62\1\63\3\uffff\1\71\1\72\1\73\2\uffff\1\104\1\105\1\uffff\1\116\1\uffff\1\124\1\125\1\126\1\131\1\132\1\135\11\uffff\1\64\1\106\15\uffff\1\32\40\uffff\1\113\1\10\7\uffff\1\17\1\uffff\1\31\1\33\1\41\2\uffff\1\54\3\uffff\1\53\10\uffff\1\67\2\uffff\1\103\3\uffff\1\66\3\uffff\1\110\12\uffff\1\122\1\107\1\15\1\102\3\uffff\1\45\13\uffff\1\114\1\uffff\1\3\1\uffff\1\111\7\uffff\1\11\3\uffff\1\42\12\uffff\1\65\1\123\3\uffff\1\112\2\uffff\1\5\11\uffff\1\46\2\uffff\1\50\4\uffff\1\77\1\uffff\1\4\1\115\1\6\1\34\1\101\1\uffff\1\7\1\12\1\13\1\uffff\1\43\1\44\3\uffff\1\52\2\uffff\1\117\1\120\1\uffff\1\55\13\uffff\1\51\1\57\1\56\6\uffff\1\14\2\uffff\1\47";
static final String DFA11_specialS =
"\1\1\61\uffff\1\0\1\2\u013b\uffff}>";
static final String[] DFA11_transitionS = {
- "\11\70\2\67\2\70\1\67\22\70\1\67\1\70\1\62\3\70\1\57\1\63\1"+
- "\47\1\50\1\16\1\20\1\42\1\14\1\27\1\17\12\66\1\1\1\2\1\22\1"+
- "\23\1\21\1\30\1\61\1\65\1\33\1\41\5\65\1\34\2\65\1\52\1\31\1"+
- "\65\1\40\2\65\1\35\1\36\1\32\1\37\5\65\1\54\1\70\1\55\1\70\1"+
- "\64\1\70\1\24\1\65\1\3\1\60\1\4\1\46\2\65\1\5\2\65\1\6\1\7\1"+
- "\15\1\25\1\53\1\10\1\11\1\56\1\12\1\13\1\65\1\45\1\26\2\65\1"+
- "\43\1\51\1\44\uff82\70",
+ "\11\70\2\67\2\70\1\67\22\70\1\67\1\70\1\62\3\70\1\57\1\63\1\47\1\50\1\16\1\20\1\42\1\14\1\27\1\17\12\66\1\1\1\2\1\22\1\23\1\21\1\30\1\61\1\65\1\33\1\41\5\65\1\34\2\65\1\52\1\31\1\65\1\40\2\65\1\35\1\36\1\32\1\37\5\65\1\54\1\70\1\55\1\70\1\64\1\70\1\24\1\65\1\3\1\60\1\4\1\46\2\65\1\5\2\65\1\6\1\7\1\15\1\25\1\53\1\10\1\11\1\56\1\12\1\13\1\65\1\45\1\26\2\65\1\43\1\51\1\44\uff82\70",
"\1\72\2\uffff\1\71",
"",
"\1\76\6\uffff\1\75",
@@ -3297,8 +3205,7 @@ public class InternalQVTimperativeLexer extends Lexer {
"\1\u008f",
"\1\u0090",
"\1\u0091",
- "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\5\77\1\u0093\17"+
- "\77\1\u0092\4\77",
+ "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\5\77\1\u0093\17\77\1\u0092\4\77",
"\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77",
"\1\u0096",
"\1\u0097",
@@ -3419,8 +3326,7 @@ public class InternalQVTimperativeLexer extends Lexer {
"\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77",
"\1\u00e9",
"\1\u00ea",
- "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\10\77\1\u00eb\21"+
- "\77",
+ "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\10\77\1\u00eb\21\77",
"\1\u00ed",
"\1\u00ee",
"\1\u00ef",
@@ -3504,8 +3410,7 @@ public class InternalQVTimperativeLexer extends Lexer {
"",
"\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77",
"\1\u012b",
- "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\22\77\1\u012c\7"+
- "\77",
+ "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\22\77\1\u012c\7\77",
"\1\u012e",
"\1\u012f",
"\1\u0130",
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeParser.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeParser.java
index ce0ffbcf2..99ebe5b93 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeParser.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src-gen/org/eclipse/qvtd/xtext/qvtimperative/ui/contentassist/antlr/internal/InternalQVTimperativeParser.java
@@ -63699,36 +63699,21 @@ public class InternalQVTimperativeParser extends AbstractInternalContentAssistPa
static final String DFA22_specialS =
"\20\uffff}>";
static final String[] DFA22_transitionS = {
- "\2\1\1\2\1\3\12\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
- "\14\1\15\1\16\3\1\20\uffff\17\1\10\uffff\1\17\1\1\5\uffff\1"+
- "\1\1\uffff\2\1\3\uffff\1\1\4\uffff\2\1\5\uffff\2\1",
+ "\2\1\1\2\1\3\12\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\3\1\20\uffff\17\1\10\uffff\1\17\1\1\5\uffff\1\1\1\uffff\2\1\3\uffff\1\1\4\uffff\2\1\5\uffff\2\1",
"",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2"+
- "\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\2\1\6\uffff\1\1\17\uffff\1\1",
""
};
@@ -63778,36 +63763,21 @@ public class InternalQVTimperativeParser extends AbstractInternalContentAssistPa
static final String DFA23_specialS =
"\20\uffff}>";
static final String[] DFA23_transitionS = {
- "\2\1\1\2\1\3\12\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
- "\14\1\15\1\16\3\1\20\uffff\17\1\10\uffff\1\17\1\1\5\uffff\1"+
- "\1\1\uffff\2\1\3\uffff\1\1\4\uffff\2\1\5\uffff\2\1",
+ "\2\1\1\2\1\3\12\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\3\1\20\uffff\17\1\10\uffff\1\17\1\1\5\uffff\1\1\1\uffff\2\1\3\uffff\1\1\4\uffff\2\1\5\uffff\2\1",
"",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
- "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
+ "\1\1\1\uffff\21\1\20\uffff\3\1\4\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\17\uffff\1\1",
""
};
@@ -64021,9 +63991,7 @@ public class InternalQVTimperativeParser extends AbstractInternalContentAssistPa
static final String DFA28_specialS =
"\1\uffff\1\0\1\1\50\uffff}>";
static final String[] DFA28_transitionS = {
- "\4\3\12\uffff\13\3\1\1\1\2\1\3\20\uffff\17\3\11\uffff\1\3\5"+
- "\uffff\1\3\1\uffff\2\3\3\uffff\1\3\4\uffff\1\52\1\3\5\uffff"+
- "\2\3",
+ "\4\3\12\uffff\13\3\1\1\1\2\1\3\20\uffff\17\3\11\uffff\1\3\5\uffff\1\3\1\uffff\2\3\3\uffff\1\3\4\uffff\1\52\1\3\5\uffff\2\3",
"\1\uffff",
"\1\uffff",
"",
@@ -64151,14 +64119,11 @@ public class InternalQVTimperativeParser extends AbstractInternalContentAssistPa
static final String DFA31_maxS =
"\1\142\12\uffff\7\0\31\uffff";
static final String DFA31_acceptS =
- "\1\uffff\1\1\1\2\1\3\1\4\15\uffff\1\10\1\11\7\uffff\1\12\14\uffff"+
- "\1\5\1\6\1\7";
+ "\1\uffff\1\1\1\2\1\3\1\4\15\uffff\1\10\1\11\7\uffff\1\12\14\uffff\1\5\1\6\1\7";
static final String DFA31_specialS =
"\13\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\31\uffff}>";
static final String[] DFA31_transitionS = {
- "\2\4\2\33\12\uffff\13\33\2\uffff\1\4\20\uffff\1\14\1\13\10"+
- "\23\1\15\1\16\1\17\1\20\1\21\11\uffff\1\1\5\uffff\1\22\1\uffff"+
- "\2\4\3\uffff\1\2\5\uffff\1\3\5\uffff\2\4",
+ "\2\4\2\33\12\uffff\13\33\2\uffff\1\4\20\uffff\1\14\1\13\10\23\1\15\1\16\1\17\1\20\1\21\11\uffff\1\1\5\uffff\1\22\1\uffff\2\4\3\uffff\1\2\5\uffff\1\3\5\uffff\2\4",
"",
"",
"",
@@ -64365,36 +64330,21 @@ public class InternalQVTimperativeParser extends AbstractInternalContentAssistPa
static final String DFA37_specialS =
"\20\uffff}>";
static final String[] DFA37_transitionS = {
- "\2\1\1\2\1\3\12\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
- "\14\1\15\1\16\3\1\20\uffff\17\1\10\uffff\1\17\1\1\5\uffff\1"+
- "\1\1\uffff\2\1\3\uffff\1\1\4\uffff\2\1\5\uffff\2\1",
+ "\2\1\1\2\1\3\12\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\3\1\20\uffff\17\1\10\uffff\1\17\1\1\5\uffff\1\1\1\uffff\2\1\3\uffff\1\1\4\uffff\2\1\5\uffff\2\1",
"",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
- "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1"+
- "\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
+ "\1\1\1\uffff\21\1\21\uffff\1\1\5\uffff\1\17\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\1\1\14\uffff\1\1",
""
};
@@ -64444,9 +64394,7 @@ public class InternalQVTimperativeParser extends AbstractInternalContentAssistPa
static final String DFA85_specialS =
"\37\uffff}>";
static final String[] DFA85_transitionS = {
- "\1\2\1\3\12\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14"+
- "\1\15\1\16\23\uffff\1\34\1\35\1\24\1\25\1\26\1\27\1\30\1\31"+
- "\1\32\1\33\1\17\1\20\1\21\1\22\1\23",
+ "\1\2\1\3\12\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\23\uffff\1\34\1\35\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\17\1\20\1\21\1\22\1\23",
"",
"\1\1\6\uffff\1\1\2\uffff\1\36",
"\1\1\6\uffff\1\1\2\uffff\1\36",
@@ -64525,8 +64473,7 @@ public class InternalQVTimperativeParser extends AbstractInternalContentAssistPa
static final String DFA86_specialS =
"\20\uffff}>";
static final String[] DFA86_transitionS = {
- "\1\1\1\2\12\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
- "\14\1\15\23\uffff\17\16",
+ "\1\1\1\2\12\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\23\uffff\17\16",
"\1\16\11\uffff\1\17",
"\1\16\11\uffff\1\17",
"\1\16\11\uffff\1\17",
@@ -64590,8 +64537,7 @@ public class InternalQVTimperativeParser extends AbstractInternalContentAssistPa
static final String DFA107_specialS =
"\1\uffff\1\0\15\uffff}>";
static final String[] DFA107_transitionS = {
- "\2\2\24\uffff\1\2\31\uffff\1\2\1\1\2\2\5\uffff\2\2\2\uffff"+
- "\1\2\5\uffff\1\2\2\uffff\1\2",
+ "\2\2\24\uffff\1\2\31\uffff\1\2\1\1\2\2\5\uffff\2\2\2\uffff\1\2\5\uffff\1\2\2\uffff\1\2",
"\1\uffff",
"",
"",
@@ -64680,8 +64626,7 @@ public class InternalQVTimperativeParser extends AbstractInternalContentAssistPa
static final String DFA108_specialS =
"\1\uffff\1\0\15\uffff}>";
static final String[] DFA108_transitionS = {
- "\2\2\24\uffff\1\2\31\uffff\1\2\1\1\2\2\5\uffff\2\2\2\uffff"+
- "\1\2\5\uffff\1\2\2\uffff\1\2",
+ "\2\2\24\uffff\1\2\31\uffff\1\2\1\1\2\2\5\uffff\2\2\2\uffff\1\2\5\uffff\1\2\2\uffff\1\2",
"\1\uffff",
"",
"",
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src/org/eclipse/qvtd/xtext/qvtimperative/ui/model/QVTimperativeDocumentProvider.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src/org/eclipse/qvtd/xtext/qvtimperative/ui/model/QVTimperativeDocumentProvider.java
index fef43361c..dc5bb95a6 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src/org/eclipse/qvtd/xtext/qvtimperative/ui/model/QVTimperativeDocumentProvider.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative.ui/src/org/eclipse/qvtd/xtext/qvtimperative/ui/model/QVTimperativeDocumentProvider.java
@@ -12,12 +12,10 @@ package org.eclipse.qvtd.xtext.qvtimperative.ui.model;
import org.eclipse.emf.common.util.URI;
import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.internal.utilities.OCLInternal;
import org.eclipse.ocl.pivot.resource.BasicProjectManager;
-import org.eclipse.ocl.pivot.utilities.OCL;
import org.eclipse.ocl.xtext.base.ui.model.BaseCSorASDocumentProvider;
-import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbase;
+import org.eclipse.qvtd.pivot.qvtimperative.utilities.QVTimperative;
import org.eclipse.qvtd.xtext.qvtimperativecs.QVTimperativeCSPackage;
/**
@@ -26,11 +24,9 @@ import org.eclipse.qvtd.xtext.qvtimperativecs.QVTimperativeCSPackage;
*/
public class QVTimperativeDocumentProvider extends BaseCSorASDocumentProvider
{
- private @Nullable OCLInternal ocl; // FIXME Eliminate once OCL implements createOCL
-
-// @Override
+ @Override
protected @NonNull OCLInternal createOCL() {
- return QVTbase.newInstance(BasicProjectManager.createDefaultProjectManager(), null);
+ return QVTimperative.newInstance(BasicProjectManager.createDefaultProjectManager(), null);
}
@Override
@@ -40,16 +36,6 @@ public class QVTimperativeDocumentProvider extends BaseCSorASDocumentProvider
}
@Override
- protected void disconnected() {
- OCL ocl2 = ocl;
- if (ocl2 != null) {
- ocl = null;
- ocl2.dispose();
- }
- super.disconnected();
- }
-
- @Override
protected String getCScontentType() {
return QVTimperativeCSPackage.eCONTENT_TYPE;
}
@@ -58,12 +44,4 @@ public class QVTimperativeDocumentProvider extends BaseCSorASDocumentProvider
protected @NonNull String getFileExtension() {
return "qvti";
}
-
- protected @NonNull OCLInternal getOCL() {
- OCLInternal ocl2 = ocl;
- if (ocl2 == null) {
- ocl = ocl2 = createOCL();
- }
- return ocl2;
- }
}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/QVTimperativeStandaloneSetupGenerated.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/QVTimperativeStandaloneSetupGenerated.java
index 29e7bd6df..f4f3c522d 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/QVTimperativeStandaloneSetupGenerated.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/QVTimperativeStandaloneSetupGenerated.java
@@ -4,17 +4,29 @@
package org.eclipse.qvtd.xtext.qvtimperative;
import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.ISetup;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.xtext.ISetupExtension;
import com.google.inject.Guice;
import com.google.inject.Injector;
+import java.util.List;
+import java.util.Arrays;
+
/**
* Generated from StandaloneSetup.xpt!
*/
@SuppressWarnings("all")
-public class QVTimperativeStandaloneSetupGenerated implements ISetup {
+public class QVTimperativeStandaloneSetupGenerated implements ISetup, ISetupExtension {
+
+ /**
+ * @since 2.9
+ */
+ @Override
+ public List<String> getFileExtensions() {
+ return Arrays.asList("qvti");
+ }
@Override
public Injector createInjectorAndDoEMFRegistration() {
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeLexer.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeLexer.java
index 2a3c238fc..14bf60bd0 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeLexer.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeLexer.java
@@ -3125,114 +3125,19 @@ public class InternalQVTimperativeLexer extends Lexer {
protected DFA11 dfa11 = new DFA11(this);
static final String DFA11_eotS =
- "\1\uffff\1\74\1\uffff\3\74\1\uffff\1\74\1\uffff\1\74\1\110\1\114"+
- "\1\uffff\1\74\3\uffff\1\74\1\uffff\4\74\1\137\1\74\1\144\1\146\1"+
- "\150\1\154\1\uffff\3\74\1\162\12\74\1\uffff\1\74\2\uffff\1\74\3"+
- "\70\1\74\4\uffff\1\74\1\u008e\1\u008f\2\uffff\3\74\1\uffff\1\74"+
- "\1\uffff\2\74\10\uffff\2\74\3\uffff\3\74\1\uffff\6\74\3\uffff\2"+
- "\74\14\uffff\1\74\1\u00a7\1\74\2\uffff\15\74\1\uffff\1\74\2\uffff"+
- "\1\74\6\uffff\3\74\2\uffff\2\74\1\u00bf\3\74\1\u00c3\14\74\1\u00d0"+
- "\1\u00d1\1\74\1\u00d3\1\uffff\1\u00d4\1\u00d5\2\74\1\u00d8\3\74"+
- "\1\u00dc\6\74\1\u00e5\5\74\1\u00eb\1\74\1\uffff\1\74\1\u00ee\1\74"+
- "\1\uffff\3\74\1\u00f4\3\74\1\u00f8\1\u00f9\3\74\2\uffff\1\u00fd"+
- "\3\uffff\2\74\1\uffff\1\74\1\u0101\1\74\1\uffff\10\74\1\uffff\1"+
- "\u010b\4\74\1\uffff\1\74\1\u0111\1\uffff\1\u0112\1\u0113\1\74\1"+
- "\u0115\1\74\1\uffff\1\74\1\u0118\1\74\2\uffff\3\74\1\uffff\1\u011d"+
- "\2\74\1\uffff\11\74\1\uffff\1\u012a\4\74\3\uffff\1\74\1\uffff\1"+
- "\u0130\1\74\1\uffff\4\74\1\uffff\2\74\1\u0138\2\74\1\u013b\4\74"+
- "\1\u0140\1\u0141\1\uffff\1\u0142\1\74\1\u0144\1\u0145\1\u0146\1"+
- "\uffff\1\u0147\1\74\1\u0149\1\u014a\1\u014b\1\u014c\1\u014d\1\uffff"+
- "\2\74\1\uffff\1\74\1\u0151\2\74\3\uffff\1\u0154\4\uffff\1\74\5\uffff"+
- "\1\u0156\2\74\1\uffff\2\74\1\uffff\1\74\1\uffff\6\74\1\u0162\1\u0163"+
- "\1\u0164\2\74\3\uffff\4\74\1\u016b\1\74\1\uffff\1\74\1\u016e\1\uffff";
+ "\1\uffff\1\74\1\uffff\3\74\1\uffff\1\74\1\uffff\1\74\1\110\1\114\1\uffff\1\74\3\uffff\1\74\1\uffff\4\74\1\137\1\74\1\144\1\146\1\150\1\154\1\uffff\3\74\1\162\12\74\1\uffff\1\74\2\uffff\1\74\3\70\1\74\4\uffff\1\74\1\u008e\1\u008f\2\uffff\3\74\1\uffff\1\74\1\uffff\2\74\10\uffff\2\74\3\uffff\3\74\1\uffff\6\74\3\uffff\2\74\14\uffff\1\74\1\u00a7\1\74\2\uffff\15\74\1\uffff\1\74\2\uffff\1\74\6\uffff\3\74\2\uffff\2\74\1\u00bf\3\74\1\u00c3\14\74\1\u00d0\1\u00d1\1\74\1\u00d3\1\uffff\1\u00d4\1\u00d5\2\74\1\u00d8\3\74\1\u00dc\6\74\1\u00e5\5\74\1\u00eb\1\74\1\uffff\1\74\1\u00ee\1\74\1\uffff\3\74\1\u00f4\3\74\1\u00f8\1\u00f9\3\74\2\uffff\1\u00fd\3\uffff\2\74\1\uffff\1\74\1\u0101\1\74\1\uffff\10\74\1\uffff\1\u010b\4\74\1\uffff\1\74\1\u0111\1\uffff\1\u0112\1\u0113\1\74\1\u0115\1\74\1\uffff\1\74\1\u0118\1\74\2\uffff\3\74\1\uffff\1\u011d\2\74\1\uffff\11\74\1\uffff\1\u012a\4\74\3\uffff\1\74\1\uffff\1\u0130\1\74\1\uffff\4\74\1\uffff\2\74\1\u0138\2\74\1\u013b\4\74\1\u0140\1\u0141\1\uffff\1\u0142\1\74\1\u0144\1\u0145\1\u0146\1\uffff\1\u0147\1\74\1\u0149\1\u014a\1\u014b\1\u014c\1\u014d\1\uffff\2\74\1\uffff\1\74\1\u0151\2\74\3\uffff\1\u0154\4\uffff\1\74\5\uffff\1\u0156\2\74\1\uffff\2\74\1\uffff\1\74\1\uffff\6\74\1\u0162\1\u0163\1\u0164\2\74\3\uffff\4\74\1\u016b\1\74\1\uffff\1\74\1\u016e\1\uffff";
static final String DFA11_eofS =
"\u016f\uffff";
static final String DFA11_minS =
- "\1\0\1\146\1\uffff\1\163\1\145\1\141\1\uffff\1\150\1\uffff\1\141"+
- "\1\72\1\55\1\uffff\1\141\3\uffff\1\154\1\uffff\1\165\1\150\2\145"+
- "\1\55\1\157\1\47\1\53\1\75\1\55\1\uffff\1\156\1\162\1\157\1\56\1"+
- "\141\1\165\1\141\1\156\2\145\1\156\1\143\1\157\1\141\1\uffff\1\162"+
- "\2\uffff\1\145\1\46\2\0\1\47\4\uffff\1\160\2\60\2\uffff\1\145\1"+
- "\146\1\160\1\uffff\1\145\1\uffff\1\154\1\145\10\uffff\1\162\1\154"+
- "\3\uffff\1\144\1\163\1\164\1\uffff\1\145\1\141\1\145\1\141\1\142"+
- "\1\164\3\uffff\1\164\1\154\14\uffff\1\144\1\60\1\162\2\uffff\2\160"+
- "\1\157\1\147\1\164\1\141\1\162\1\161\2\154\1\144\1\154\1\155\1\uffff"+
- "\1\145\2\uffff\1\154\6\uffff\1\154\1\151\1\141\2\uffff\1\163\1\141"+
- "\1\60\1\162\1\154\1\143\1\60\1\163\1\157\1\151\2\145\1\162\1\156"+
- "\1\145\1\156\1\154\1\151\1\162\2\60\1\154\1\60\1\uffff\2\60\2\154"+
- "\1\60\1\145\1\154\1\151\1\60\1\165\1\151\1\101\1\145\1\154\1\142"+
- "\1\60\1\146\1\162\1\151\1\156\1\154\1\60\1\165\1\uffff\1\145\1\60"+
- "\1\153\1\uffff\1\145\1\162\1\146\1\60\1\156\1\171\1\163\2\60\1\151"+
- "\1\156\1\141\2\uffff\1\60\3\uffff\2\145\1\uffff\1\147\1\60\1\156"+
- "\1\uffff\1\145\1\155\2\156\1\157\1\162\1\145\1\144\1\uffff\1\60"+
- "\1\164\1\145\2\151\1\uffff\1\154\1\60\1\uffff\2\60\1\143\1\60\1"+
- "\146\1\uffff\1\144\1\60\1\146\2\uffff\1\172\1\145\1\162\1\uffff"+
- "\1\60\1\141\1\145\1\uffff\1\147\1\156\1\151\1\171\1\166\1\151\1"+
- "\145\1\143\1\141\1\uffff\1\60\1\163\1\164\1\144\1\164\3\uffff\1"+
- "\145\1\uffff\1\60\1\163\1\uffff\1\157\1\145\1\163\1\171\1\uffff"+
- "\1\156\1\162\1\60\1\143\1\164\1\60\1\141\2\144\1\164\2\60\1\uffff"+
- "\1\60\1\145\3\60\1\uffff\1\60\1\162\5\60\1\uffff\2\145\1\uffff\1"+
- "\154\1\60\1\123\1\151\3\uffff\1\60\4\uffff\1\155\5\uffff\1\60\1"+
- "\144\1\151\1\uffff\1\145\1\157\1\uffff\1\141\1\uffff\1\116\1\144"+
- "\1\164\1\156\1\164\1\141\3\60\1\151\1\164\3\uffff\1\157\1\165\1"+
- "\156\1\162\1\60\1\141\1\uffff\1\154\1\60\1\uffff";
+ "\1\0\1\146\1\uffff\1\163\1\145\1\141\1\uffff\1\150\1\uffff\1\141\1\72\1\55\1\uffff\1\141\3\uffff\1\154\1\uffff\1\165\1\150\2\145\1\55\1\157\1\47\1\53\1\75\1\55\1\uffff\1\156\1\162\1\157\1\56\1\141\1\165\1\141\1\156\2\145\1\156\1\143\1\157\1\141\1\uffff\1\162\2\uffff\1\145\1\46\2\0\1\47\4\uffff\1\160\2\60\2\uffff\1\145\1\146\1\160\1\uffff\1\145\1\uffff\1\154\1\145\10\uffff\1\162\1\154\3\uffff\1\144\1\163\1\164\1\uffff\1\145\1\141\1\145\1\141\1\142\1\164\3\uffff\1\164\1\154\14\uffff\1\144\1\60\1\162\2\uffff\2\160\1\157\1\147\1\164\1\141\1\162\1\161\2\154\1\144\1\154\1\155\1\uffff\1\145\2\uffff\1\154\6\uffff\1\154\1\151\1\141\2\uffff\1\163\1\141\1\60\1\162\1\154\1\143\1\60\1\163\1\157\1\151\2\145\1\162\1\156\1\145\1\156\1\154\1\151\1\162\2\60\1\154\1\60\1\uffff\2\60\2\154\1\60\1\145\1\154\1\151\1\60\1\165\1\151\1\101\1\145\1\154\1\142\1\60\1\146\1\162\1\151\1\156\1\154\1\60\1\165\1\uffff\1\145\1\60\1\153\1\uffff\1\145\1\162\1\146\1\60\1\156\1\171\1\163\2\60\1\151\1\156\1\141\2\uffff\1\60\3\uffff\2\145\1\uffff\1\147\1\60\1\156\1\uffff\1\145\1\155\2\156\1\157\1\162\1\145\1\144\1\uffff\1\60\1\164\1\145\2\151\1\uffff\1\154\1\60\1\uffff\2\60\1\143\1\60\1\146\1\uffff\1\144\1\60\1\146\2\uffff\1\172\1\145\1\162\1\uffff\1\60\1\141\1\145\1\uffff\1\147\1\156\1\151\1\171\1\166\1\151\1\145\1\143\1\141\1\uffff\1\60\1\163\1\164\1\144\1\164\3\uffff\1\145\1\uffff\1\60\1\163\1\uffff\1\157\1\145\1\163\1\171\1\uffff\1\156\1\162\1\60\1\143\1\164\1\60\1\141\2\144\1\164\2\60\1\uffff\1\60\1\145\3\60\1\uffff\1\60\1\162\5\60\1\uffff\2\145\1\uffff\1\154\1\60\1\123\1\151\3\uffff\1\60\4\uffff\1\155\5\uffff\1\60\1\144\1\151\1\uffff\1\145\1\157\1\uffff\1\141\1\uffff\1\116\1\144\1\164\1\156\1\164\1\141\3\60\1\151\1\164\3\uffff\1\157\1\165\1\156\1\162\1\60\1\141\1\uffff\1\154\1\60\1\uffff";
static final String DFA11_maxS =
- "\1\uffff\1\156\1\uffff\1\163\1\145\1\141\1\uffff\1\150\1\uffff"+
- "\1\150\2\75\1\uffff\1\157\3\uffff\1\170\1\uffff\1\165\1\162\1\145"+
- "\1\151\1\76\1\165\1\52\1\53\1\75\1\76\1\uffff\1\156\1\162\1\157"+
- "\1\56\1\141\1\165\1\157\1\156\1\145\1\164\1\156\1\162\1\157\1\141"+
- "\1\uffff\1\162\2\uffff\1\145\1\46\2\uffff\1\47\4\uffff\1\160\2\172"+
- "\2\uffff\1\145\1\146\1\160\1\uffff\1\145\1\uffff\1\154\1\145\10"+
- "\uffff\1\162\1\154\3\uffff\1\146\1\163\1\164\1\uffff\1\145\1\165"+
- "\1\145\1\146\1\142\1\164\3\uffff\1\164\1\154\14\uffff\1\144\1\172"+
- "\1\162\2\uffff\2\160\1\157\1\147\1\164\1\141\1\162\1\164\2\154\1"+
- "\144\1\154\1\155\1\uffff\1\145\2\uffff\1\154\6\uffff\1\157\1\151"+
- "\1\141\2\uffff\1\163\1\141\1\172\1\162\1\154\1\143\1\172\1\163\1"+
- "\157\1\151\2\145\1\162\1\156\1\145\1\156\1\154\1\151\1\162\2\172"+
- "\1\154\1\172\1\uffff\2\172\2\154\1\172\1\145\1\154\1\151\1\172\1"+
- "\165\1\151\1\126\1\145\1\154\1\142\1\172\1\146\1\162\1\151\1\156"+
- "\1\154\1\172\1\165\1\uffff\1\145\1\172\1\153\1\uffff\1\145\1\162"+
- "\1\146\1\172\1\156\1\171\1\163\2\172\1\151\1\156\1\141\2\uffff\1"+
- "\172\3\uffff\2\145\1\uffff\1\147\1\172\1\156\1\uffff\1\145\1\155"+
- "\2\156\1\157\1\162\1\145\1\144\1\uffff\1\172\1\164\1\145\2\151\1"+
- "\uffff\1\154\1\172\1\uffff\2\172\1\143\1\172\1\146\1\uffff\1\144"+
- "\1\172\1\146\2\uffff\1\172\1\145\1\162\1\uffff\1\172\1\141\1\145"+
- "\1\uffff\1\147\1\156\1\151\1\171\1\166\1\151\1\145\1\143\1\141\1"+
- "\uffff\1\172\1\163\1\164\1\144\1\164\3\uffff\1\145\1\uffff\1\172"+
- "\1\163\1\uffff\1\157\1\145\1\163\1\171\1\uffff\1\156\1\162\1\172"+
- "\1\143\1\164\1\172\1\141\2\144\1\164\2\172\1\uffff\1\172\1\145\3"+
- "\172\1\uffff\1\172\1\162\5\172\1\uffff\2\145\1\uffff\1\154\1\172"+
- "\1\123\1\151\3\uffff\1\172\4\uffff\1\155\5\uffff\1\172\1\144\1\151"+
- "\1\uffff\1\145\1\157\1\uffff\1\141\1\uffff\1\116\1\144\1\164\1\156"+
- "\1\164\1\141\3\172\1\151\1\164\3\uffff\1\157\1\165\1\156\1\162\1"+
- "\172\1\141\1\uffff\1\154\1\172\1\uffff";
+ "\1\uffff\1\156\1\uffff\1\163\1\145\1\141\1\uffff\1\150\1\uffff\1\150\2\75\1\uffff\1\157\3\uffff\1\170\1\uffff\1\165\1\162\1\145\1\151\1\76\1\165\1\52\1\53\1\75\1\76\1\uffff\1\156\1\162\1\157\1\56\1\141\1\165\1\157\1\156\1\145\1\164\1\156\1\162\1\157\1\141\1\uffff\1\162\2\uffff\1\145\1\46\2\uffff\1\47\4\uffff\1\160\2\172\2\uffff\1\145\1\146\1\160\1\uffff\1\145\1\uffff\1\154\1\145\10\uffff\1\162\1\154\3\uffff\1\146\1\163\1\164\1\uffff\1\145\1\165\1\145\1\146\1\142\1\164\3\uffff\1\164\1\154\14\uffff\1\144\1\172\1\162\2\uffff\2\160\1\157\1\147\1\164\1\141\1\162\1\164\2\154\1\144\1\154\1\155\1\uffff\1\145\2\uffff\1\154\6\uffff\1\157\1\151\1\141\2\uffff\1\163\1\141\1\172\1\162\1\154\1\143\1\172\1\163\1\157\1\151\2\145\1\162\1\156\1\145\1\156\1\154\1\151\1\162\2\172\1\154\1\172\1\uffff\2\172\2\154\1\172\1\145\1\154\1\151\1\172\1\165\1\151\1\126\1\145\1\154\1\142\1\172\1\146\1\162\1\151\1\156\1\154\1\172\1\165\1\uffff\1\145\1\172\1\153\1\uffff\1\145\1\162\1\146\1\172\1\156\1\171\1\163\2\172\1\151\1\156\1\141\2\uffff\1\172\3\uffff\2\145\1\uffff\1\147\1\172\1\156\1\uffff\1\145\1\155\2\156\1\157\1\162\1\145\1\144\1\uffff\1\172\1\164\1\145\2\151\1\uffff\1\154\1\172\1\uffff\2\172\1\143\1\172\1\146\1\uffff\1\144\1\172\1\146\2\uffff\1\172\1\145\1\162\1\uffff\1\172\1\141\1\145\1\uffff\1\147\1\156\1\151\1\171\1\166\1\151\1\145\1\143\1\141\1\uffff\1\172\1\163\1\164\1\144\1\164\3\uffff\1\145\1\uffff\1\172\1\163\1\uffff\1\157\1\145\1\163\1\171\1\uffff\1\156\1\162\1\172\1\143\1\164\1\172\1\141\2\144\1\164\2\172\1\uffff\1\172\1\145\3\172\1\uffff\1\172\1\162\5\172\1\uffff\2\145\1\uffff\1\154\1\172\1\123\1\151\3\uffff\1\172\4\uffff\1\155\5\uffff\1\172\1\144\1\151\1\uffff\1\145\1\157\1\uffff\1\141\1\uffff\1\116\1\144\1\164\1\156\1\164\1\141\3\172\1\151\1\164\3\uffff\1\157\1\165\1\156\1\162\1\172\1\141\1\uffff\1\154\1\172\1\uffff";
static final String DFA11_acceptS =
- "\2\uffff\1\2\3\uffff\1\7\1\uffff\1\11\3\uffff\1\16\1\uffff\1\22"+
- "\1\23\1\24\1\uffff\1\30\12\uffff\1\46\16\uffff\1\107\1\uffff\1\111"+
- "\1\112\5\uffff\1\130\1\132\1\135\1\136\3\uffff\1\130\1\2\3\uffff"+
- "\1\7\1\uffff\1\11\2\uffff\1\14\1\27\1\20\1\15\1\56\1\57\1\122\1"+
- "\16\2\uffff\1\22\1\23\1\24\3\uffff\1\30\6\uffff\1\55\1\134\1\36"+
- "\2\uffff\1\127\1\133\1\40\1\100\1\41\1\44\1\42\1\45\1\47\1\102\1"+
- "\43\1\46\3\uffff\1\77\1\54\15\uffff\1\107\1\uffff\1\111\1\112\1"+
- "\uffff\1\124\1\125\1\126\1\131\1\132\1\135\3\uffff\1\6\1\113\27"+
- "\uffff\1\51\27\uffff\1\5\3\uffff\1\17\14\uffff\1\120\1\37\1\uffff"+
- "\1\50\1\52\1\60\2\uffff\1\73\3\uffff\1\72\10\uffff\1\110\5\uffff"+
- "\1\3\2\uffff\1\13\5\uffff\1\115\3\uffff\1\103\1\114\3\uffff\1\106"+
- "\3\uffff\1\64\11\uffff\1\121\5\uffff\1\10\1\21\1\104\1\uffff\1\116"+
- "\2\uffff\1\31\4\uffff\1\61\14\uffff\1\26\5\uffff\1\117\7\uffff\1"+
- "\65\2\uffff\1\67\4\uffff\1\101\1\1\1\53\1\uffff\1\105\1\4\1\25\1"+
- "\123\1\uffff\1\33\1\35\1\34\1\62\1\63\3\uffff\1\71\2\uffff\1\12"+
- "\1\uffff\1\74\13\uffff\1\70\1\76\1\75\6\uffff\1\32\2\uffff\1\66";
+ "\2\uffff\1\2\3\uffff\1\7\1\uffff\1\11\3\uffff\1\16\1\uffff\1\22\1\23\1\24\1\uffff\1\30\12\uffff\1\46\16\uffff\1\107\1\uffff\1\111\1\112\5\uffff\1\130\1\132\1\135\1\136\3\uffff\1\130\1\2\3\uffff\1\7\1\uffff\1\11\2\uffff\1\14\1\27\1\20\1\15\1\56\1\57\1\122\1\16\2\uffff\1\22\1\23\1\24\3\uffff\1\30\6\uffff\1\55\1\134\1\36\2\uffff\1\127\1\133\1\40\1\100\1\41\1\44\1\42\1\45\1\47\1\102\1\43\1\46\3\uffff\1\77\1\54\15\uffff\1\107\1\uffff\1\111\1\112\1\uffff\1\124\1\125\1\126\1\131\1\132\1\135\3\uffff\1\6\1\113\27\uffff\1\51\27\uffff\1\5\3\uffff\1\17\14\uffff\1\120\1\37\1\uffff\1\50\1\52\1\60\2\uffff\1\73\3\uffff\1\72\10\uffff\1\110\5\uffff\1\3\2\uffff\1\13\5\uffff\1\115\3\uffff\1\103\1\114\3\uffff\1\106\3\uffff\1\64\11\uffff\1\121\5\uffff\1\10\1\21\1\104\1\uffff\1\116\2\uffff\1\31\4\uffff\1\61\14\uffff\1\26\5\uffff\1\117\7\uffff\1\65\2\uffff\1\67\4\uffff\1\101\1\1\1\53\1\uffff\1\105\1\4\1\25\1\123\1\uffff\1\33\1\35\1\34\1\62\1\63\3\uffff\1\71\2\uffff\1\12\1\uffff\1\74\13\uffff\1\70\1\76\1\75\6\uffff\1\32\2\uffff\1\66";
static final String DFA11_specialS =
"\1\2\61\uffff\1\0\1\1\u013b\uffff}>";
static final String[] DFA11_transitionS = {
- "\11\70\2\67\2\70\1\67\22\70\1\67\1\70\1\62\3\70\1\61\1\63\1"+
- "\16\1\17\1\22\1\32\1\2\1\27\1\41\1\31\12\66\1\12\1\14\1\34\1"+
- "\35\1\33\1\13\1\54\1\65\1\44\1\52\5\65\1\45\2\65\1\53\1\42\1"+
- "\65\1\51\2\65\1\46\1\47\1\43\1\50\5\65\1\56\1\70\1\57\1\70\1"+
- "\64\1\70\1\36\1\65\1\11\1\4\1\21\1\15\2\65\1\1\2\65\1\26\1\5"+
- "\1\30\1\37\1\55\1\23\1\25\1\60\1\24\1\3\1\65\1\7\1\40\2\65\1"+
- "\6\1\20\1\10\uff82\70",
+ "\11\70\2\67\2\70\1\67\22\70\1\67\1\70\1\62\3\70\1\61\1\63\1\16\1\17\1\22\1\32\1\2\1\27\1\41\1\31\12\66\1\12\1\14\1\34\1\35\1\33\1\13\1\54\1\65\1\44\1\52\5\65\1\45\2\65\1\53\1\42\1\65\1\51\2\65\1\46\1\47\1\43\1\50\5\65\1\56\1\70\1\57\1\70\1\64\1\70\1\36\1\65\1\11\1\4\1\21\1\15\2\65\1\1\2\65\1\26\1\5\1\30\1\37\1\55\1\23\1\25\1\60\1\24\1\3\1\65\1\7\1\40\2\65\1\6\1\20\1\10\uff82\70",
"\1\73\6\uffff\1\71\1\72",
"",
"\1\76",
@@ -3290,8 +3195,7 @@ public class InternalQVTimperativeLexer extends Lexer {
"",
"",
"\1\u008b",
- "\12\74\7\uffff\32\74\4\uffff\1\74\1\uffff\5\74\1\u008c\17"+
- "\74\1\u008d\4\74",
+ "\12\74\7\uffff\32\74\4\uffff\1\74\1\uffff\5\74\1\u008c\17\74\1\u008d\4\74",
"\12\74\7\uffff\32\74\4\uffff\1\74\1\uffff\32\74",
"",
"",
@@ -3432,8 +3336,7 @@ public class InternalQVTimperativeLexer extends Lexer {
"\1\u00f0",
"\1\u00f1",
"\1\u00f2",
- "\12\74\7\uffff\32\74\4\uffff\1\74\1\uffff\10\74\1\u00f3\21"+
- "\74",
+ "\12\74\7\uffff\32\74\4\uffff\1\74\1\uffff\10\74\1\u00f3\21\74",
"\1\u00f5",
"\1\u00f6",
"\1\u00f7",
@@ -3502,8 +3405,7 @@ public class InternalQVTimperativeLexer extends Lexer {
"\1\u0127",
"\1\u0128",
"",
- "\12\74\7\uffff\32\74\4\uffff\1\74\1\uffff\22\74\1\u0129\7"+
- "\74",
+ "\12\74\7\uffff\32\74\4\uffff\1\74\1\uffff\22\74\1\u0129\7\74",
"\1\u012b",
"\1\u012c",
"\1\u012d",
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeParser.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeParser.java
index 6e0d8a5f7..c12af504a 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeParser.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeParser.java
@@ -24273,10 +24273,7 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA53_specialS =
"\37\uffff}>";
static final String[] DFA53_transitionS = {
- "\1\1\1\2\12\uffff\1\6\1\uffff\1\15\1\uffff\1\10\13\uffff\1"+
- "\3\3\uffff\1\4\1\5\2\uffff\1\11\1\14\1\12\1\7\1\13\22\uffff"+
- "\1\34\1\35\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\17\1\20"+
- "\1\21\1\22\1\23",
+ "\1\1\1\2\12\uffff\1\6\1\uffff\1\15\1\uffff\1\10\13\uffff\1\3\3\uffff\1\4\1\5\2\uffff\1\11\1\14\1\12\1\7\1\13\22\uffff\1\34\1\35\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\17\1\20\1\21\1\22\1\23",
"\1\16\12\uffff\1\16\4\uffff\1\36",
"\1\16\12\uffff\1\16\4\uffff\1\36",
"\1\16\12\uffff\1\16\4\uffff\1\36",
@@ -24355,9 +24352,7 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA54_specialS =
"\20\uffff}>";
static final String[] DFA54_transitionS = {
- "\1\1\1\2\12\uffff\1\6\1\uffff\1\15\1\uffff\1\10\13\uffff\1"+
- "\3\3\uffff\1\4\1\5\2\uffff\1\11\1\14\1\12\1\7\1\13\22\uffff"+
- "\17\16",
+ "\1\1\1\2\12\uffff\1\6\1\uffff\1\15\1\uffff\1\10\13\uffff\1\3\3\uffff\1\4\1\5\2\uffff\1\11\1\14\1\12\1\7\1\13\22\uffff\17\16",
"\1\16\17\uffff\1\17",
"\1\16\17\uffff\1\17",
"\1\16\17\uffff\1\17",
@@ -24421,50 +24416,21 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA76_specialS =
"\20\uffff}>";
static final String[] DFA76_transitionS = {
- "\1\2\1\3\2\1\10\uffff\1\7\1\uffff\1\16\1\uffff\1\11\12\uffff"+
- "\1\17\1\4\1\1\2\uffff\1\5\1\6\1\uffff\1\1\1\12\1\15\1\13\1\10"+
- "\1\14\2\1\20\uffff\17\1\2\uffff\1\1\1\uffff\4\1\4\uffff\1\1"+
- "\4\uffff\2\1",
+ "\1\2\1\3\2\1\10\uffff\1\7\1\uffff\1\16\1\uffff\1\11\12\uffff\1\17\1\4\1\1\2\uffff\1\5\1\6\1\uffff\1\1\1\12\1\15\1\13\1\10\1\14\2\1\20\uffff\17\1\2\uffff\1\1\1\uffff\4\1\4\uffff\1\1\4\uffff\2\1",
"",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff"+
- "\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\17\uffff\1\1\7\uffff\1\1\1\uffff\1\1",
""
};
@@ -24514,37 +24480,21 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA79_specialS =
"\20\uffff}>";
static final String[] DFA79_transitionS = {
- "\1\2\1\3\2\1\10\uffff\1\7\1\uffff\1\16\1\uffff\1\11\12\uffff"+
- "\1\17\1\4\1\1\2\uffff\1\5\1\6\1\uffff\1\1\1\12\1\15\1\13\1\10"+
- "\1\14\2\1\20\uffff\17\1\2\uffff\1\1\1\uffff\4\1\4\uffff\1\1"+
- "\4\uffff\2\1",
+ "\1\2\1\3\2\1\10\uffff\1\7\1\uffff\1\16\1\uffff\1\11\12\uffff\1\17\1\4\1\1\2\uffff\1\5\1\6\1\uffff\1\1\1\12\1\15\1\13\1\10\1\14\2\1\20\uffff\17\1\2\uffff\1\1\1\uffff\4\1\4\uffff\1\1\4\uffff\2\1",
"",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
- "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff"+
- "\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
+ "\1\1\4\uffff\1\1\1\uffff\1\1\6\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1",
""
};
@@ -24594,9 +24544,7 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA91_specialS =
"\1\uffff\1\0\15\uffff}>";
static final String[] DFA91_transitionS = {
- "\1\2\3\uffff\1\2\1\1\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\4"+
- "\uffff\2\2\21\uffff\1\2\31\uffff\1\2\10\uffff\1\2\2\uffff\1"+
- "\2",
+ "\1\2\3\uffff\1\2\1\1\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\4\uffff\2\2\21\uffff\1\2\31\uffff\1\2\10\uffff\1\2\2\uffff\1\2",
"\1\uffff",
"",
"",
@@ -24685,9 +24633,7 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA90_specialS =
"\1\uffff\1\0\15\uffff}>";
static final String[] DFA90_transitionS = {
- "\1\2\3\uffff\1\2\1\1\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\4"+
- "\uffff\2\2\21\uffff\1\2\31\uffff\1\2\10\uffff\1\2\2\uffff\1"+
- "\2",
+ "\1\2\3\uffff\1\2\1\1\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\4\uffff\2\2\21\uffff\1\2\31\uffff\1\2\10\uffff\1\2\2\uffff\1\2",
"\1\uffff",
"",
"",
@@ -24776,8 +24722,7 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA92_specialS =
"\26\uffff\1\0\1\1\1\2\1\3\1\4\3\uffff}>";
static final String[] DFA92_transitionS = {
- "\2\1\12\uffff\1\1\1\uffff\1\1\1\uffff\1\1\13\uffff\1\1\3\uffff"+
- "\2\1\2\uffff\5\1\22\uffff\12\16\1\26\1\27\1\30\1\31\1\32",
+ "\2\1\12\uffff\1\1\1\uffff\1\1\1\uffff\1\1\13\uffff\1\1\3\uffff\2\1\2\uffff\5\1\22\uffff\12\16\1\26\1\27\1\30\1\31\1\32",
"",
"",
"",
@@ -24941,9 +24886,7 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA95_specialS =
"\1\uffff\1\0\1\1\50\uffff}>";
static final String[] DFA95_transitionS = {
- "\4\3\10\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\2\uffff"+
- "\2\3\1\uffff\6\3\1\1\1\2\20\uffff\17\3\2\uffff\1\3\1\uffff\4"+
- "\3\4\uffff\1\3\4\uffff\1\52\1\3",
+ "\4\3\10\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\2\uffff\2\3\1\uffff\6\3\1\1\1\2\20\uffff\17\3\2\uffff\1\3\1\uffff\4\3\4\uffff\1\3\4\uffff\1\52\1\3",
"\1\uffff",
"\1\uffff",
"",
@@ -25071,15 +25014,11 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA98_maxS =
"\1\140\12\uffff\7\0\31\uffff";
static final String DFA98_acceptS =
- "\1\uffff\1\1\1\2\1\3\1\4\15\uffff\1\10\1\11\7\uffff\1\12\14\uffff"+
- "\1\5\1\6\1\7";
+ "\1\uffff\1\1\1\2\1\3\1\4\15\uffff\1\10\1\11\7\uffff\1\12\14\uffff\1\5\1\6\1\7";
static final String DFA98_specialS =
"\13\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\31\uffff}>";
static final String[] DFA98_transitionS = {
- "\2\33\2\4\10\uffff\1\33\1\uffff\1\33\1\uffff\1\33\13\uffff"+
- "\1\33\1\1\2\uffff\2\33\1\uffff\1\4\5\33\22\uffff\1\14\1\13\10"+
- "\23\1\15\1\16\1\17\1\20\1\21\2\uffff\1\22\1\uffff\4\4\4\uffff"+
- "\1\2\5\uffff\1\3",
+ "\2\33\2\4\10\uffff\1\33\1\uffff\1\33\1\uffff\1\33\13\uffff\1\33\1\1\2\uffff\2\33\1\uffff\1\4\5\33\22\uffff\1\14\1\13\10\23\1\15\1\16\1\17\1\20\1\21\2\uffff\1\22\1\uffff\4\4\4\uffff\1\2\5\uffff\1\3",
"",
"",
"",
@@ -25286,37 +25225,21 @@ public class InternalQVTimperativeParser extends AbstractInternalAntlrParser {
static final String DFA122_specialS =
"\20\uffff}>";
static final String[] DFA122_transitionS = {
- "\1\2\1\3\2\1\10\uffff\1\7\1\uffff\1\16\1\uffff\1\11\12\uffff"+
- "\1\17\1\4\1\1\2\uffff\1\5\1\6\1\uffff\1\1\1\12\1\15\1\13\1\10"+
- "\1\14\2\1\20\uffff\17\1\2\uffff\1\1\1\uffff\4\1\4\uffff\1\1"+
- "\4\uffff\2\1",
+ "\1\2\1\3\2\1\10\uffff\1\7\1\uffff\1\16\1\uffff\1\11\12\uffff\1\17\1\4\1\1\2\uffff\1\5\1\6\1\uffff\1\1\1\12\1\15\1\13\1\10\1\14\2\1\20\uffff\17\1\2\uffff\1\1\1\uffff\4\1\4\uffff\1\1\4\uffff\2\1",
"",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
- "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff"+
- "\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
+ "\1\1\10\uffff\1\17\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\1\uffff\20\1\27\uffff\1\1\1\uffff\1\1\2\uffff\1\1",
""
};
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/services/QVTimperativeGrammarAccess.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/services/QVTimperativeGrammarAccess.java
index 9a355028e..338ec6ade 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/services/QVTimperativeGrammarAccess.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src-gen/org/eclipse/qvtd/xtext/qvtimperative/services/QVTimperativeGrammarAccess.java
@@ -1239,11 +1239,10 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////EnforcementOperationCS: ('creation'|'deletion') ExpCS ';';
- // GuardPatternCS:
+ //GuardPatternCS:
// {GuardPatternCS} "(" (ownedUnrealizedVariables+=GuardVariableCS ("," ownedUnrealizedVariables+=GuardVariableCS)*)?
// ("|" ownedPredicates+=PredicateCS*)? ")" // FIXME Redundant but avoids serializer failure on Class2RDBMS.qvtc
- // |
- // {GuardPatternCS} "(" (ownedUnrealizedVariables+=GuardVariableCS ("," ownedUnrealizedVariables+=GuardVariableCS)*)?
+ // | {GuardPatternCS} "(" (ownedUnrealizedVariables+=GuardVariableCS ("," ownedUnrealizedVariables+=GuardVariableCS)*)?
// ")" | {GuardPatternCS} "(" ownedPredicates+=PredicateCS* ")";
public QVTcoreBaseGrammarAccess.GuardPatternCSElements getGuardPatternCSAccess() {
return gaQVTcoreBase.getGuardPatternCSAccess();
@@ -1254,7 +1253,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////Variable := VariableName �:� TypeDeclaration
- // GuardVariableCS returns UnrealizedVariableCS:
+ //GuardVariableCS returns UnrealizedVariableCS:
// name=UnrestrictedName ":" ownedType=TypeExpCS;
public QVTcoreBaseGrammarAccess.GuardVariableCSElements getGuardVariableCSAccess() {
return gaQVTcoreBase.getGuardVariableCSAccess();
@@ -1306,10 +1305,9 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////Constraint ::= Predicate | Assignment
- // //Predicate ::= BooleanOCLExpr
- //
+ ////Predicate ::= BooleanOCLExpr
////Assignement ::= [�default�] SlotOwnerOCLExpr�.�PropertyName �:=� ValueOCLExpr
- // PredicateOrAssignmentCS:
+ //PredicateOrAssignmentCS:
// isDefault?="default"? ownedTarget=ExpCS (":=" ownedInitExpression=ExpCS)? ";";
public QVTcoreBaseGrammarAccess.PredicateOrAssignmentCSElements getPredicateOrAssignmentCSAccess() {
return gaQVTcoreBase.getPredicateOrAssignmentCSAccess();
@@ -1331,11 +1329,10 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////<query> ::= 'query' <PathNameCS>
- // // '(' [<paramDeclaration> (',' <paramDeclaration>)*] ')'
- //
+ //// '(' [<paramDeclaration> (',' <paramDeclaration>)*] ')'
//// ':' <TypeCS>
- // // (';' | '{' <OCLExpressionCS> '}')
- // ScopeNameCS returns base::PathNameCS:
+ //// (';' | '{' <OCLExpressionCS> '}')
+ //ScopeNameCS returns base::PathNameCS:
// ownedPathElements+=FirstPathElementCS "::" (ownedPathElements+=NextPathElementCS "::")*;
public QVTcoreBaseGrammarAccess.ScopeNameCSElements getScopeNameCSAccess() {
return gaQVTcoreBase.getScopeNameCSAccess();
@@ -1356,7 +1353,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////Variable := VariableName �:� TypeDeclaration
- // UnrealizedVariableCS:
+ //UnrealizedVariableCS:
// name=UnrestrictedName (":" ownedType=TypeExpCS)? (":=" ownedInitExpression=ExpCS)?;
public QVTcoreBaseGrammarAccess.UnrealizedVariableCSElements getUnrealizedVariableCSAccess() {
return gaQVTcoreBase.getUnrealizedVariableCSAccess();
@@ -1367,7 +1364,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////RealizedVariable := �realized� VariableName �:� TypeDeclaration
- // RealizedVariableCS:
+ //RealizedVariableCS:
// "realize" name=UnrestrictedName ":" ownedType=TypeExpCS;
public QVTcoreBaseGrammarAccess.RealizedVariableCSElements getRealizedVariableCSAccess() {
return gaQVTcoreBase.getRealizedVariableCSAccess();
@@ -1388,13 +1385,13 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////| 'where'
- // UnrestrictedName returns ecore::EString:
+ //UnrestrictedName returns ecore::EString:
// EssentialOCLUnrestrictedName //| 'creation'
- // //| 'default'
- // //| 'deletion'
- // //| 'include'
- // | "check" | "enforce" |
- // "import" | "imports" | "library" | "map" | "query" | "realize" | "refines" | "transformation" | "uses";
+ // //| 'default'
+ // //| 'deletion'
+ // //| 'include'
+ // | "check" | "enforce" | "import" | "imports" | "library" | "map" | "query" | "realize" | "refines" | "transformation" |
+ // "uses";
public QVTcoreBaseGrammarAccess.UnrestrictedNameElements getUnrestrictedNameAccess() {
return gaQVTcoreBase.getUnrestrictedNameAccess();
}
@@ -1404,7 +1401,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////generate essentialOCLCST "http://www.eclipse.org/ocl/3.0.0/EssentialOCLCST"
- // Model returns ContextCS:
+ //Model returns ContextCS:
// ownedExpression=ExpCS;
public EssentialOCLGrammarAccess.ModelElements getModelAccess() {
return gaQVTcoreBase.getModelAccess();
@@ -1469,7 +1466,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
//// Intended to be overrideable
- // InfixOperatorName:
+ //InfixOperatorName:
// EssentialOCLInfixOperatorName;
public EssentialOCLGrammarAccess.InfixOperatorNameElements getInfixOperatorNameAccess() {
return gaQVTcoreBase.getInfixOperatorNameAccess();
@@ -1480,7 +1477,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
//// Intended to be overrideable
- // NavigationOperatorName:
+ //NavigationOperatorName:
// EssentialOCLNavigationOperatorName;
public EssentialOCLGrammarAccess.NavigationOperatorNameElements getNavigationOperatorNameAccess() {
return gaQVTcoreBase.getNavigationOperatorNameAccess();
@@ -1491,7 +1488,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
//// Intended to be overrideable
- // UnaryOperatorName:
+ //UnaryOperatorName:
// EssentialOCLUnaryOperatorName;
public EssentialOCLGrammarAccess.UnaryOperatorNameElements getUnaryOperatorNameAccess() {
return gaQVTcoreBase.getUnaryOperatorNameAccess();
@@ -1502,10 +1499,8 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////---------------------------------------------------------------------
- // // Names
- //
+ //// Names
////---------------------------------------------------------------------
- //
/// ** <<<This is a join point for derived grammars - replace with a more disciplined grammar extensibility>>> * /
//EssentialOCLUnrestrictedName returns ecore::EString:
// Identifier;
@@ -1529,7 +1524,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
//// Intended to be overridden
- // UnreservedName returns ecore::EString:
+ //UnreservedName returns ecore::EString:
// EssentialOCLUnreservedName;
public EssentialOCLGrammarAccess.UnreservedNameElements getUnreservedNameAccess() {
return gaQVTcoreBase.getUnreservedNameAccess();
@@ -1561,10 +1556,9 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////---------------------------------------------------------------------
- // // Types
- //
+ //// Types
////---------------------------------------------------------------------
- // PrimitiveTypeIdentifier:
+ //PrimitiveTypeIdentifier:
// "Boolean" | "Integer" | "Real" | "String" | "UnlimitedNatural" | "OclAny" | "OclInvalid" | "OclVoid";
public EssentialOCLGrammarAccess.PrimitiveTypeIdentifierElements getPrimitiveTypeIdentifierAccess() {
return gaQVTcoreBase.getPrimitiveTypeIdentifierAccess();
@@ -1635,10 +1629,9 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////---------------------------------------------------------------------
- // // Literals
- //
+ //// Literals
////---------------------------------------------------------------------
- // CollectionLiteralExpCS:
+ //CollectionLiteralExpCS:
// ownedType=CollectionTypeCS "{" (ownedParts+=CollectionLiteralPartCS ("," ownedParts+=CollectionLiteralPartCS)*)? "}";
public EssentialOCLGrammarAccess.CollectionLiteralExpCSElements getCollectionLiteralExpCSAccess() {
return gaQVTcoreBase.getCollectionLiteralExpCSAccess();
@@ -1670,7 +1663,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
//// PatternPartCS
- // ShadowPartCS:
+ //ShadowPartCS:
// referredProperty=[pivot::Property|UnrestrictedName] "=" ownedInitExpression=(ExpCS | PatternExpCS);
public EssentialOCLGrammarAccess.ShadowPartCSElements getShadowPartCSAccess() {
return gaQVTcoreBase.getShadowPartCSAccess();
@@ -1862,28 +1855,19 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////---------------------------------------------------------------------
- // // Expressions
- //
+ //// Expressions
////---------------------------------------------------------------------
- //
//// An ExpCS permits a LetExpCS only in the final term to ensure
- //
//// that let is right associative, whereas infix operators are left associative.
- //
//// a = 64 / 16 / let b : Integer in 8 / let c : Integer in 4
- // // is
- //
+ //// is
//// a = (64 / 16) / (let b : Integer in 8 / (let c : Integer in 4 ))
- //
/// * An expression elaborates a prefixed expression with zero or more binary operator and expression suffixes.
- // * An optionally prefixed let expression is permitted except when suffixed with further expressions.* /
- //ExpCS:
- // PrefixedPrimaryExpCS ({InfixExpCS.ownedLeft=current} name=BinaryOperatorName ownedRight=ExpCS)?
- // // ({InfixExpCS} ownedSource=PrefixedExpCS name=BinaryOperatorName ownedArgument=ExpCS)
- // //| PrefixedExpCS
- //
+ // * An optionally prefixed let expression is permitted except when suffixed with further expressions.* / ExpCS:
+ // PrefixedPrimaryExpCS ({InfixExpCS.ownedLeft=current} name=BinaryOperatorName ownedRight=ExpCS)? // ({InfixExpCS} ownedSource=PrefixedExpCS name=BinaryOperatorName ownedArgument=ExpCS)
+ // //| PrefixedExpCS
// // the above takes exponential or worse time for backtracking, below is fast
- // | PrefixedLetExpCS;
+ // | PrefixedLetExpCS;
public EssentialOCLGrammarAccess.ExpCSElements getExpCSAccess() {
return gaQVTcoreBase.getExpCSAccess();
}
@@ -1927,8 +1911,7 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
/// * A name expression is a generalised rule for expressions that start with a name and which may be followed by square, round or
- // * curly bracket clauses and optionally an @pre as well.* /
- //NameExpCS:
+ // * curly bracket clauses and optionally an @pre as well.* / NameExpCS:
// ownedPathName=PathNameCS ownedSquareBracketedClauses+=SquareBracketedClauseCS*
// ownedRoundBracketedClause=RoundBracketedClauseCS? ownedCurlyBracketedClause=CurlyBracketedClauseCS? (isPre?="@"
// "pre")?;
@@ -1975,9 +1958,8 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
/// * A navigating argument is a generalized rule for the first argument in a round bracket clause. This is typically the first operation
- // * parameter or an iterator. * /
- //// Type-less init is an illegal infix expression
- // NavigatingArgCS:
+ // * parameter or an iterator. * / // Type-less init is an illegal infix expression
+ //NavigatingArgCS:
// ownedNameExpression=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" ownedInitExpression=ExpCS)? | "in"
// ownedInitExpression=ExpCS)? | ":" ownedType=TypeExpCS;
public EssentialOCLGrammarAccess.NavigatingArgCSElements getNavigatingArgCSAccess() {
@@ -1988,9 +1970,8 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
return getNavigatingArgCSAccess().getRule();
}
- /// * A navigating bar argument is a generalized rule for a bar-prefixed argument in a round bracket clause. This is typically the body of an iteration. * /
- //// Type-less init is an illegal infix expression
- // NavigatingBarArgCS returns NavigatingArgCS:
+ /// * A navigating bar argument is a generalized rule for a bar-prefixed argument in a round bracket clause. This is typically the body of an iteration. * / // Type-less init is an illegal infix expression
+ //NavigatingBarArgCS returns NavigatingArgCS:
// prefix="|" ownedNameExpression=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" ownedInitExpression=ExpCS)?)?;
public EssentialOCLGrammarAccess.NavigatingBarArgCSElements getNavigatingBarArgCSAccess() {
return gaQVTcoreBase.getNavigatingBarArgCSAccess();
@@ -2001,9 +1982,8 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
/// * A navigating comma argument is a generalized rule for non-first argument in a round bracket clause. These are typically non-first operation
- // * parameters or a second iterator. * /
- //// Type-less init is an illegal infix expression
- // NavigatingCommaArgCS returns NavigatingArgCS:
+ // * parameters or a second iterator. * / // Type-less init is an illegal infix expression
+ //NavigatingCommaArgCS returns NavigatingArgCS:
// prefix="," ownedNameExpression=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" ownedInitExpression=ExpCS)? | "in"
// ownedInitExpression=ExpCS)?;
public EssentialOCLGrammarAccess.NavigatingCommaArgCSElements getNavigatingCommaArgCSAccess() {
@@ -2014,9 +1994,8 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
return getNavigatingCommaArgCSAccess().getRule();
}
- /// * A navigating semi argument is a generalized rule for a semicolon prefixed argument in a round bracket clause. This is typically an iterate accumulator. * /
- //// Type-less init is an illegal infix expression
- // NavigatingSemiArgCS returns NavigatingArgCS:
+ /// * A navigating semi argument is a generalized rule for a semicolon prefixed argument in a round bracket clause. This is typically an iterate accumulator. * / // Type-less init is an illegal infix expression
+ //NavigatingSemiArgCS returns NavigatingArgCS:
// prefix=";" ownedNameExpression=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" ownedInitExpression=ExpCS)?)?;
public EssentialOCLGrammarAccess.NavigatingSemiArgCSElements getNavigatingSemiArgCSAccess() {
return gaQVTcoreBase.getNavigatingSemiArgCSAccess();
@@ -2027,8 +2006,8 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
//// Intended to be overridden
- // // '?' -- defined by Complete OCL
- // NavigatingArgExpCS returns ExpCS:
+ //// '?' -- defined by Complete OCL
+ //NavigatingArgExpCS returns ExpCS:
// ExpCS;
public EssentialOCLGrammarAccess.NavigatingArgExpCSElements getNavigatingArgExpCSAccess() {
return gaQVTcoreBase.getNavigatingArgExpCSAccess();
@@ -2040,7 +2019,6 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
//IfExpCS:
// "if" ownedCondition=(ExpCS | PatternExpCS) "then" ownedThenExpression=ExpCS // ifThenExpressions+=IfThenExpCS
- //
// ownedIfThenExpressions+=ElseIfThenExpCS* "else" ownedElseExpression=ExpCS "endif";
public EssentialOCLGrammarAccess.IfExpCSElements getIfExpCSAccess() {
return gaQVTcoreBase.getIfExpCSAccess();
@@ -2051,11 +2029,10 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
////IfThenExpCS returns IfThenExpCS:
- // // 'if' condition=ExpCS
- // // 'then' thenExpression=ExpCS
- // //;
- // ElseIfThenExpCS
- //returns IfThenExpCS:
+ //// 'if' condition=ExpCS
+ //// 'then' thenExpression=ExpCS
+ ////;
+ //ElseIfThenExpCS returns IfThenExpCS:
// "elseif" ownedCondition=ExpCS "then" ownedThenExpression=ExpCS;
public EssentialOCLGrammarAccess.ElseIfThenExpCSElements getElseIfThenExpCSAccess() {
return gaQVTcoreBase.getElseIfThenExpCSAccess();
@@ -2282,12 +2259,9 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
// * lookahead conflicts in simple lexers between a dot within a floating point number and the dot-dot in a CollectionLiteralPartCS. A
// * practical implementation should give high priority to a successful parse of INT ('.' INT)? (('e' | 'E') ('+' | '-')? INT)? than
// * to the unsuccessful partial parse of INT '..'. The type of the INT terminal is String to allow the floating point syntax to be used.
- // * /
- //// Not terminal to allow parser backtracking to sort out "5..7"
- //
+ // * / // Not terminal to allow parser backtracking to sort out "5..7"
//// EssentialOCLTokenSource pieces this together ('.' INT)? (('e' | 'E') ('+' | '-')? INT)?;
- // NUMBER_LITERAL returns
- //BigNumber:
+ //NUMBER_LITERAL returns BigNumber:
// INT;
public BaseGrammarAccess.NUMBER_LITERALElements getNUMBER_LITERALAccess() {
return gaQVTcoreBase.getNUMBER_LITERALAccess();
@@ -2371,8 +2345,8 @@ public class QVTimperativeGrammarAccess extends AbstractGrammarElementFinder {
}
//// String to allow diverse re-use
- // // multiple leading zeroes occur as floating point fractional part
- // terminal INT:
+ //// multiple leading zeroes occur as floating point fractional part
+ //terminal INT:
// "0".."9"+;
public TerminalRule getINTRule() {
return gaQVTcoreBase.getINTRule();
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSContainmentVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSContainmentVisitor.java
index bb87d15fb..9db6f213b 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSContainmentVisitor.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSContainmentVisitor.java
@@ -19,7 +19,6 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.ocl.pivot.Import;
-import org.eclipse.ocl.pivot.PivotFactory;
import org.eclipse.ocl.pivot.PivotPackage;
import org.eclipse.ocl.pivot.Variable;
import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal;
@@ -37,6 +36,7 @@ import org.eclipse.qvtd.pivot.qvtbase.Predicate;
import org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage;
import org.eclipse.qvtd.pivot.qvtbase.Transformation;
import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
+import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseUtil;
import org.eclipse.qvtd.pivot.qvtcorebase.Assignment;
import org.eclipse.qvtd.pivot.qvtcorebase.BottomPattern;
import org.eclipse.qvtd.pivot.qvtcorebase.CoreDomain;
@@ -58,12 +58,12 @@ import org.eclipse.qvtd.pivot.qvtimperative.MappingStatement;
import org.eclipse.qvtd.pivot.qvtimperative.QVTimperativeFactory;
import org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage;
import org.eclipse.qvtd.pivot.qvtimperative.VariablePredicate;
-import org.eclipse.qvtd.xtext.qvtcorebasecs.PredicateOrAssignmentCS;
import org.eclipse.qvtd.xtext.qvtcorebasecs.BottomPatternCS;
import org.eclipse.qvtd.xtext.qvtcorebasecs.DirectionCS;
import org.eclipse.qvtd.xtext.qvtcorebasecs.DomainCS;
import org.eclipse.qvtd.xtext.qvtcorebasecs.GuardPatternCS;
import org.eclipse.qvtd.xtext.qvtcorebasecs.PredicateCS;
+import org.eclipse.qvtd.xtext.qvtcorebasecs.PredicateOrAssignmentCS;
import org.eclipse.qvtd.xtext.qvtcorebasecs.QueryCS;
import org.eclipse.qvtd.xtext.qvtcorebasecs.TransformationCS;
import org.eclipse.qvtd.xtext.qvtimperativecs.MappingCS;
@@ -99,12 +99,7 @@ public class QVTimperativeCSContainmentVisitor extends AbstractQVTimperativeCSCo
Continuation<?> continuation = super.visitDirectionCS(csElement);
TypedModel asTypedModel = PivotUtil.getPivot(TypedModel.class, csElement);
if (asTypedModel != null) {
- org.eclipse.ocl.pivot.Class libModel = standardLibrary.getLibraryType("Model");
- Variable contextVariable = PivotFactory.eINSTANCE.createVariable();
- contextVariable.setName(asTypedModel.getName());
- contextVariable.setType(libModel);
- contextVariable.setIsRequired(true);
- asTypedModel.setOwnedContext(contextVariable);
+ QVTbaseUtil.getContextVariable(standardLibrary, asTypedModel);
}
return continuation;
}
@@ -288,13 +283,7 @@ public class QVTimperativeCSContainmentVisitor extends AbstractQVTimperativeCSCo
Continuation<?> continuation = super.visitTransformationCS(csElement);
Transformation asTransformation = PivotUtil.getPivot(Transformation.class, csElement);
if (asTransformation != null) {
- org.eclipse.ocl.pivot.Class libTransformation = standardLibrary.getLibraryType("Transformation");
- asTransformation.getSuperClasses().add(libTransformation);
- Variable contextVariable = PivotFactory.eINSTANCE.createVariable();
- contextVariable.setName("this");
- contextVariable.setType(libTransformation);
- contextVariable.setIsRequired(true);
- asTransformation.setOwnedContext(contextVariable);
+ QVTbaseUtil.getContextVariable(standardLibrary, asTransformation);
}
return continuation;
}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/utilities/QVTimperative.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/utilities/QVTimperative.java
deleted file mode 100644
index 45a5d4fca..000000000
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/utilities/QVTimperative.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.qvtd.xtext.qvtimperative.utilities;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbase;
-import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiEnvironmentFactory;
-
-public class QVTimperative extends QVTbase
-{
- public QVTimperative(@NonNull QVTiEnvironmentFactory environmentFactory) {
- super(environmentFactory);
- }
-
- @Override
- public @NonNull QVTiEnvironmentFactory getEnvironmentFactory() {
- return (QVTiEnvironmentFactory) super.getEnvironmentFactory();
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationGrammarResource.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationGrammarResource.java
index 3a75fc937..c9124649a 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationGrammarResource.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationGrammarResource.java
@@ -24,6 +24,7 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.ocl.xtext.base.utilities.AbstractGrammarResource;
import org.eclipse.xtext.AbstractMetamodelDeclaration;
import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.EnumRule;
import org.eclipse.xtext.Grammar;
import org.eclipse.xtext.ParserRule;
import org.eclipse.xtext.ReferencedMetamodel;
@@ -40,7 +41,7 @@ import com.google.inject.Singleton;
* <p>
* The grammar is immutable and is available as static INSTANCE and GRAMMAR fields.
*/
-@SuppressWarnings("nls")
+@SuppressWarnings({"nls", "unused"})
public class QVTrelationGrammarResource extends AbstractGrammarResource
{
private static final @NonNull Grammar G_QVTrelation = createGrammar("org.eclipse.qvtd.xtext.qvtrelation.QVTrelation");
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetupGenerated.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetupGenerated.java
index 581709c9b..4d6249a57 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetupGenerated.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetupGenerated.java
@@ -4,17 +4,29 @@
package org.eclipse.qvtd.xtext.qvtrelation;
import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.ISetup;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.xtext.ISetupExtension;
import com.google.inject.Guice;
import com.google.inject.Injector;
+import java.util.List;
+import java.util.Arrays;
+
/**
* Generated from StandaloneSetup.xpt!
*/
@SuppressWarnings("all")
-public class QVTrelationStandaloneSetupGenerated implements ISetup {
+public class QVTrelationStandaloneSetupGenerated implements ISetup, ISetupExtension {
+
+ /**
+ * @since 2.9
+ */
+ @Override
+ public List<String> getFileExtensions() {
+ return Arrays.asList("qvtr");
+ }
@Override
public Injector createInjectorAndDoEMFRegistration() {
diff --git a/releng/org.eclipse.qvtd.build/.launches/Generate QVTd QVTbaseLibrary Models.launch b/releng/org.eclipse.qvtd.build/.launches/Generate QVTd Library Models.launch
index 8a912d7e3..d5bb2cde5 100644
--- a/releng/org.eclipse.qvtd.build/.launches/Generate QVTd QVTbaseLibrary Models.launch
+++ b/releng/org.eclipse.qvtd.build/.launches/Generate QVTd Library Models.launch
@@ -8,7 +8,7 @@
<listEntry value="4"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/qvtd/build/mwe2/GenerateQVTbaseLibraryModels.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/qvtd/build/mwe2/GenerateQVTdLibraryModels.mwe2"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.qvtd.build"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
</launchConfiguration>
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdAll.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdAll.mwe2
index ee574b0ba..618db52ed 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdAll.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdAll.mwe2
@@ -17,7 +17,7 @@ module GenerateQVTdAll
*/
Workflow {
component = @GenerateQVTdASModels {}
- component = @GenerateQVTbaseLibraryModels {}
+ component = @GenerateQVTdLibraryModels {}
component = @GenerateQVTdScheduleModels {}
component = @GenerateQVTdCSModels {}
component = @GenerateQVTdCGModels {}
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTbaseLibraryModels.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdLibraryModels.mwe2
index cdcd7dce1..edc7f7b00 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTbaseLibraryModels.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdLibraryModels.mwe2
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010,2013 E.D.Willink and others.
+ * Copyright (c) 2015 E.D.Willink 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
@@ -7,11 +7,10 @@
*
* Contributors:
* E.D.Willink - initial API and implementation
- * E.D.Willink (CEA LIST) - Bug 424034
*
* Run As->MWE2 Workflow to regenerate the pivot model.
*******************************************************************************/
-module GenerateQVTbaseLibraryModels
+module GenerateQVTdLibraryModels
import org.eclipse.ocl.examples.build.utilities.*
import org.eclipse.ocl.examples.build.xtend.*
@@ -19,10 +18,8 @@ import org.eclipse.emf.mwe.utils.*
import org.eclipse.emf.mwe.utils.*
import org.eclipse.emf.ecore.resource.impl.*
-var sourceName = "org.eclipse.qvtd.pivot.qvtbase"
-
/**
- * Generate the OCLstdlib Model, by converting oclstdlib.oclstdlib to OCLstdlib.java.
+ * Generate the QVTbase and QVTimperative Library Models.
*/
Workflow {
bean = ResourceSetImpl : resourceSet {}
@@ -32,7 +29,7 @@ Workflow {
}
bean = GenModelSetup { resourceSet = resourceSet }
component = GenerateOCLstdlibXtend { resourceSet = resourceSet
- projectName = "${sourceName}"
+ projectName = "org.eclipse.qvtd.pivot.qvtbase"
modelFile = "model/QVTbaseLibrary.oclstdlib"
uri = "http://www.eclipse.org/qvt/2015/QVTbaseLibrary"
ecoreFile = "/org.eclipse.qvtd.pivot.qvtbase/model-gen/QVTbaseLibrary.ecore"
@@ -53,10 +50,38 @@ Workflow {
}
}
component = GenerateModel { resourceSet = resourceSet skipOnErrors = true
- genModel = "/${sourceName}/model/QVTbaseLibrary.genmodel"
+ genModel = "/org.eclipse.qvtd.pivot.qvtbase/model/QVTbaseLibrary.genmodel"
+ }
+ component = Model2tablesGenerator { resourceSet = resourceSet
+ genModelFile = "/org.eclipse.qvtd.pivot.qvtbase/model/QVTbaseLibrary.genmodel"
+ genOCLstdlib = true
+ }
+ component = GenerateOCLstdlibXtend { resourceSet = resourceSet
+ projectName = "org.eclipse.qvtd.pivot.qvtimperative"
+ modelFile = "model/QVTimperativeLibrary.oclstdlib"
+ uri = "http://www.eclipse.org/qvt/2015/QVTimperativeLibrary"
+ ecoreFile = "/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.ecore"
+ javaFolder = "/org.eclipse.qvtd.pivot.qvtimperative/emf-gen"
+ javaPackageName = "org.eclipse.qvtd.pivot.qvtimperative.model"
+ javaClassName = "QVTimperativeLibrary"
+ generatedClassNameMap = {
+ from = "http://www.eclipse.org/ocl/2015/Pivot"
+ to = "org.eclipse.ocl.pivot.model.OCLmetamodel"
+ }
+ generatedClassNameMap = {
+ from = "http://www.eclipse.org/ocl/2015/Library"
+ to = "org.eclipse.ocl.pivot.model.OCLstdlib"
+ }
+ generatedClassNameMap = {
+ from = "http://www.eclipse.org/qvt/2015/QVTimperative"
+ to = "org.eclipse.qvtd.pivot.qvtimperative.model.QVTimperativeMetamodel"
+ }
+ }
+ component = GenerateModel { resourceSet = resourceSet skipOnErrors = true
+ genModel = "/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.genmodel"
}
component = Model2tablesGenerator { resourceSet = resourceSet
- genModelFile = "/${sourceName}/model/QVTbaseLibrary.genmodel"
+ genModelFile = "/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.genmodel"
genOCLstdlib = true
}
}
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/Source2Target.qvtias b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/Source2Target.qvtias
index 4f6f69c8c..2035b64fe 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/Source2Target.qvtias
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/Source2Target.qvtias
@@ -10,10 +10,10 @@
<ownedPackages xmi:id="P." name="">
<ownedClasses xsi:type="qvtb:Transformation" xmi:id="T..Source2Target_qvtp_qvtias" name="Source2Target_qvtp_qvtias">
<modelParameter xmi:id="qT..Source2Target_qvtp_qvtias.leftCS" name="leftCS" usedPackage="SourceMM1.ecore.oclas#P.source">
- <ownedContext name="this" type="pivot:Class http://www.eclipse.org/qvt/2015/QVTbaseLibrary.oclas#T.qvtbaselibrary.Model"/>
+ <ownedContext name="leftCS" type="pivot:Class http://www.eclipse.org/qvt/2015/QVTimperativeLibrary.oclas#T.qvtbaselibrary.Model"/>
</modelParameter>
<modelParameter xmi:id="qT..Source2Target_qvtp_qvtias.rightAS" name="rightAS" usedPackage="TargetMM1.ecore.oclas#P.target">
- <ownedContext name="this" type="pivot:Class http://www.eclipse.org/qvt/2015/QVTbaseLibrary.oclas#T.qvtbaselibrary.Model"/>
+ <ownedContext name="rightAS" type="pivot:Class http://www.eclipse.org/qvt/2015/QVTimperativeLibrary.oclas#T.qvtbaselibrary.Model"/>
</modelParameter>
<rule xsi:type="qvti:Mapping" xmi:id="m..Source2Target_qvtp_qvtias.cSRoot_2_TRoot" name="cSRoot_2_TRoot">
<domain xsi:type="qvtcb:CoreDomain" name="leftCS" isCheckable="true" isEnforceable="false" typedModel="#qT..Source2Target_qvtp_qvtias.leftCS">
@@ -1231,7 +1231,7 @@
</mappingStatements>
</mappingStatement>
</rule>
- <ownedContext name="this" type="pivot:Class http://www.eclipse.org/qvt/2015/QVTbaseLibrary.oclas#T.qvtbaselibrary.Transformation"/>
+ <ownedContext name="this"/>
</ownedClasses>
</ownedPackages>
<ownedPackages xmi:id="P.$$" name="$$" URI="http://www.eclipse.org/ocl/2015/Orphanage" nsPrefix="orphanage">
diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/hsv2hls.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/hsv2hls.java
index f27f8e766..995ca78e1 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/hsv2hls.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/hsv2hls.java
@@ -22,10 +22,10 @@ import org.eclipse.ocl.pivot.ids.IdResolver;
import org.eclipse.ocl.pivot.ids.NsURIPackageId;
import org.eclipse.ocl.pivot.ids.RootPackageId;
import org.eclipse.ocl.pivot.ids.TypeId;
-import org.eclipse.ocl.pivot.library.classifier.ClassifierAllInstancesOperation;
import org.eclipse.ocl.pivot.values.InvalidValueException;
import org.eclipse.ocl.pivot.values.SetValue;
import org.eclipse.qvtd.pivot.qvtbase.evaluation.AbstractTransformationExecutor;
+import org.eclipse.qvtd.pivot.qvtimperative.library.model.ModelObjectsOfKindOperation;
import test.hls.HLSTree.HLSNode;
import test.hls.HLSTree.HLSTreeFactory;
import test.hls.HLSTree.HLSTreePackage;
@@ -50,6 +50,7 @@ import test.middle.HSV2HLS.HSVNode2HLSNode;
public class hsv2hls extends AbstractTransformationExecutor
{
public static final @NonNull /*@NonInvalid*/ RootPackageId PACKid_$metamodel$ = IdManager.getRootPackageId("$metamodel$");
+ public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2015_s_QVTbaseLibrary = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/2015/QVTbaseLibrary", "qvtbaselib", null);
public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_HLSTree = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/examples/0.1/HLSTree", null, HLSTreePackage.eINSTANCE);
public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_HSVTree = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/examples/0.1/HSVTree", null, HSVTreePackage.eINSTANCE);
public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_HSVtoHLS = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/examples/0.1/HSVtoHLS", null, HSV2HLSPackage.eINSTANCE);
@@ -57,6 +58,7 @@ public class hsv2hls extends AbstractTransformationExecutor
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_HLSNode = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_HLSTree.getClassId("HLSNode", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_HSVNode = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_HSVTree.getClassId("HSVNode", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_HSVNode2HLSNode = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_HSVtoHLS.getClassId("HSVNode2HLSNode", 0);
+ public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Model = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2015_s_QVTbaseLibrary.getClassId("Model", 0);
public static final @NonNull /*@NonInvalid*/ DataTypeId DATAid_HLS = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_HLSTree.getDataTypeId("HLS", 0);
public static final @NonNull /*@NonInvalid*/ DataTypeId DATAid_HSV = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_HSVTree.getDataTypeId("HSV", 0);
public static final @NonNull /*@NonInvalid*/ DataTypeId DATAid_RGB = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_HSVtoHLS.getDataTypeId("RGB", 0);
@@ -113,7 +115,7 @@ public class hsv2hls extends AbstractTransformationExecutor
* )
* { |
* }
- * for hsvRoot : HSVTree::HSVNode in HSVTree::HSVNode.allInstances()
+ * for hsvRoot : HSVTree::HSVNode in hsv.objectsOfKind(HSVTree::HSVNode)
* {
* map HSV2MiddleRoot {
* hsvRoot := hsvRoot;
@@ -127,11 +129,11 @@ public class hsv2hls extends AbstractTransformationExecutor
// creations
// assignments
// mapping statements
- final @NonNull /*@Thrown*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_HSVNode, TYP_HSVTree_c_c_HSVNode_0);
- final List<HSVNode> UNBOXED_allInstances = allInstances.asEcoreObjects(idResolver, HSVNode.class);
- assert UNBOXED_allInstances != null;
+ final @NonNull /*@Thrown*/ SetValue objectsOfKind = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_HSVNode, models[0/*hsv*/], TYP_HSVTree_c_c_HSVNode_0);
+ final List<HSVNode> UNBOXED_objectsOfKind = objectsOfKind.asEcoreObjects(idResolver, HSVNode.class);
+ assert UNBOXED_objectsOfKind != null;
;
- for (HSVNode hsvRoot_1 : UNBOXED_allInstances) {
+ for (HSVNode hsvRoot_1 : UNBOXED_objectsOfKind) {
if (hsvRoot_1 != null) {
final @NonNull /*@NonInvalid*/ HSVNode symbol_1 = (HSVNode)hsvRoot_1;
HSV2MiddleRoot(symbol_1);
diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/HSV2HLS/HSV2HLS.qvti b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/HSV2HLS/HSV2HLS.qvti
index 22de9f844..d693430c5 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/HSV2HLS/HSV2HLS.qvti
+++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/HSV2HLS/HSV2HLS.qvti
@@ -19,8 +19,8 @@ query hsv2hls::rgb2hls(color : HSV2HLS::RGB) : HLSTree::HLS;
query hsv2hls::rgb2hsv(color : HSV2HLS::RGB) : HSVTree::HSV;
map __root__ in hsv2hls {
- for hsvRoot : HSVTree::HSVNode in HSVTree::HSVNode.allInstances() {
--- for hsvRoot : HSVTree::HSVNode in hsv.objectsOfKind(HSVTree::HSVNode) {
+-- for hsvRoot : HSVTree::HSVNode in HSVTree::HSVNode.allInstances() {
+ for hsvRoot : HSVTree::HSVNode in hsv.objectsOfKind(HSVTree::HSVNode) {
call HSV2MiddleRoot {
hsvRoot := hsvRoot;
}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java
index 1be50ba29..03f9a6f10 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java
@@ -12,7 +12,11 @@ package org.eclipse.qvtd.xtext.qvtimperative.tests;
import java.io.IOException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.utilities.OCL;
import org.eclipse.ocl.xtext.base.services.BaseLinkingService;
+import org.eclipse.qvtd.pivot.qvtimperative.utilities.QVTimperative;
import org.eclipse.qvtd.xtext.qvtbase.tests.LoadTestCase;
import org.eclipse.qvtd.xtext.qvtimperative.QVTimperativeStandaloneSetup;
@@ -21,6 +25,15 @@ import org.eclipse.qvtd.xtext.qvtimperative.QVTimperativeStandaloneSetup;
*/
public class QVTiEditorTests extends LoadTestCase
{
+ public void doLoad_Concrete(@NonNull String inputName) throws IOException {
+ OCL ocl = QVTimperative.newInstance(getProjectMap(), null);
+// OCL ocl = OCL.newInstance(getProjectMap());
+ URI inputURI = getProjectFileURI(inputName);
+ @SuppressWarnings("null")@NonNull URI pivotURI = inputURI.trimFileExtension().appendFileExtension("qvtias");
+ doLoad_Concrete(ocl, inputURI, pivotURI);
+ ocl.dispose();
+ }
+
@Override
protected void setUp() throws Exception {
BaseLinkingService.DEBUG_RETRY.setState(true);
diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiInterpreterTests.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiInterpreterTests.java
index b3cdb8976..d27faeb65 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiInterpreterTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiInterpreterTests.java
@@ -38,13 +38,13 @@ import org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage;
import org.eclipse.qvtd.pivot.qvtimperative.ImperativeModel;
import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiEnvironmentFactory;
import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiPivotEvaluator;
+import org.eclipse.qvtd.pivot.qvtimperative.utilities.QVTimperative;
import org.eclipse.qvtd.xtext.qvtbase.tests.LoadTestCase;
import org.eclipse.qvtd.xtext.qvtbase.tests.utilities.TestsXMLUtil;
import org.eclipse.qvtd.xtext.qvtimperative.QVTimperativeStandaloneSetup;
import org.eclipse.qvtd.xtext.qvtimperative.tests.ManualUML2RDBMS.ManualRDBMSNormalizer;
import org.eclipse.qvtd.xtext.qvtimperative.tests.SimpleUML2RDBMS.SimpleRDBMSNormalizer;
import org.eclipse.qvtd.xtext.qvtimperative.utilities.QVTiXtextEvaluator;
-import org.eclipse.qvtd.xtext.qvtimperative.utilities.QVTimperative;
import org.eclipse.xtext.util.EmfFormatter;
import org.junit.Before;
import org.junit.Test;
@@ -65,6 +65,10 @@ public class QVTiInterpreterTests extends LoadTestCase
public @NonNull MyQvtiEvaluator createEvaluator(@NonNull String fileNamePrefix, @NonNull String transformationFileName) throws IOException {
return new MyQvtiEvaluator(getEnvironmentFactory(), fileNamePrefix, transformationFileName);
}
+
+ public @NonNull QVTiEnvironmentFactory getEnvironmentFactory() {
+ return (QVTiEnvironmentFactory) super.getEnvironmentFactory();
+ }
}
/**
diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java
index 5c47541dd..5bb9ce3a3 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java
@@ -27,6 +27,7 @@ import org.eclipse.ocl.pivot.utilities.OCL;
import org.eclipse.ocl.pivot.utilities.PivotConstants;
import org.eclipse.ocl.xtext.base.services.BaseLinkingService;
import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbase;
+import org.eclipse.qvtd.pivot.qvtimperative.utilities.QVTimperative;
import org.eclipse.qvtd.xtext.qvtbase.tests.LoadTestCase;
import org.eclipse.qvtd.xtext.qvtbase.tests.utilities.TestsXMLUtil;
import org.eclipse.qvtd.xtext.qvtimperative.QVTimperativeStandaloneSetup;
@@ -39,8 +40,8 @@ import org.eclipse.xtext.resource.XtextResource;
public class QVTiSerializeTests extends LoadTestCase
{
protected void doSerializeRoundTrip(@NonNull String stem) throws Exception {
- OCL ocl1 = QVTbase.newInstance(OCL.NO_PROJECTS, null);
- OCL ocl2 = QVTbase.newInstance(OCL.NO_PROJECTS, null);
+ OCL ocl1 = QVTimperative.newInstance(OCL.NO_PROJECTS, null);
+ OCL ocl2 = QVTimperative.newInstance(OCL.NO_PROJECTS, null);
Resource asResource1 = doLoad_Concrete(ocl1, stem + ".qvti", stem + ".qvtias");
URI inputURI = getProjectFileURI(stem + ".qvtias");
URI referenceURI = getProjectFileURI(stem + "ref.qvtias");

Back to the top