From 30a761771634e78886f75b65fead4f785ed75337 Mon Sep 17 00:00:00 2001 From: Ed Willink Date: Fri, 19 Jun 2015 10:22:59 +0100 Subject: [463313] Replace Evaluator by Executor while retaining API compatibility --- .../qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java | 6 +- .../qvtd/codegen/qvti/java/QVTiGlobalContext.java | 2 +- plugins/org.eclipse.qvtd.compiler/build.properties | 6 +- .../compiler/internal/CS2ASJavaCompilerImpl.java | 9 +- .../debug/evaluator/QVTiVMEvaluationVisitor.java | 11 +- .../qvtd/debug/evaluator/QVTiVMExecutor.java | 3 +- .../QVTiVMNestedEvaluationEnvironment.java | 2 +- .../AbstractTransformationEvaluator.java | 4 +- .../evaluation/AbstractTransformationExecutor.java | 16 +- .../evaluation/BasicQVTiExecutor.java | 6 +- .../evaluation/IQVTiEvaluationVisitor.java | 2 +- .../evaluation/QVTiEvaluationEnvironment.java | 2 +- .../evaluation/QVTiEvaluationVisitorDecorator.java | 9 +- .../QVTiNestedEvaluationEnvironment.java | 3 +- .../evaluation/QVTiTracingEvaluationVisitor.java | 11 +- .../library/model/AllObjectsOperation.java | 4 +- .../library/model/ModelObjectsOfKindOperation.java | 4 +- .../library/model/ModelObjectsOfTypeOperation.java | 4 +- .../library/model/RootObjectsOperation.java | 4 +- .../tests/models/example1/EnvExample1.ecore | 4 +- .../tests/models/example1/Source2Target.qvtias | 378 ++-- .../models/example1/java/LookupEnvironment.java | 16 +- .../tests/models/example2/EnvExample2.ecore | 4 +- .../models/example2/java/LookupEnvironment.java | 16 +- .../Source2Target_qvtp_qvtias.java | 156 +- .../classescs2as_qvtp_qvtias.java | 68 +- .../tests-gen/example1/env/Env4CG.java | 10 +- .../tests-gen/example1/env/Environment.java | 4 +- .../tests-gen/example1/env/EnvironmentPackage.java | 55 +- .../tests-gen/example1/env/EnvironmentTables.java | 56 +- .../example1/env/impl/EnvironmentImpl.java | 28 +- .../example1/env/impl/EnvironmentPackageImpl.java | 18 +- .../env/util/EnvironmentAdapterFactory.java | 12 +- .../example1/env/util/EnvironmentSwitch.java | 14 +- .../tests-gen/example1/target/TargetTables.java | 10 - .../target/util/AbstractMergedVisitor.java | 77 + .../target/util/AbstractTargetLookupVisitor.java | 52 +- .../tests-gen/example2/classes/ClassesTables.java | 10 - .../classes/util/AbstractClassesLookupVisitor.java | 36 +- .../classes/util/AbstractMergedVisitor.java | 57 + .../tests-gen/example2/env/Env4CG.java | 10 +- .../tests-gen/example2/env/Environment.java | 4 +- .../tests-gen/example2/env/EnvironmentPackage.java | 55 +- .../tests-gen/example2/env/EnvironmentTables.java | 56 +- .../example2/env/impl/EnvironmentImpl.java | 28 +- .../example2/env/impl/EnvironmentPackageImpl.java | 19 +- .../env/util/EnvironmentAdapterFactory.java | 13 +- .../example2/env/util/EnvironmentSwitch.java | 15 +- .../cg/_ManualUML2RDBMS/ManualUML2RDBMS.java | 26 +- .../src-gen/cg/_classescs2as/classescs2as.java | 30 +- .../classescs2as_Bug459225.java | 18 +- .../src-gen/cg/_hsv2hls/hsv2hls.java | 10 +- .../cg/simpleUML2RDBMS/SimpleUML2RDBMS.java | 2070 ++++++++++++++++++++ .../src-gen/cg/test/SimpleUML2RDBMS.java | 60 +- .../qvtimperative/tests/QVTiCompilerTests.java | 30 +- .../tests/SimpleUML2RDBMS/SimpleUML2RDBMS.qvti | 38 +- 56 files changed, 2987 insertions(+), 684 deletions(-) create mode 100644 tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/util/AbstractMergedVisitor.java create mode 100644 tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/util/AbstractMergedVisitor.java create mode 100644 tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/simpleUML2RDBMS/SimpleUML2RDBMS.java diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java index 9bc1855a1..f78b9c96a 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java @@ -41,7 +41,7 @@ import org.eclipse.ocl.examples.codegen.java.JavaLocalContext; import org.eclipse.ocl.pivot.Operation; import org.eclipse.ocl.pivot.Parameter; import org.eclipse.ocl.pivot.Property; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.ElementId; @@ -248,13 +248,13 @@ public class QVTiCG2JavaVisitor extends CG2JavaVisitor implem protected void doConstructor(@NonNull CGTransformation cgTransformation, @Nullable String oppositeName, @Nullable String[] allInstancesNames) { // String evaluatorName = ((QVTiGlobalContext)globalContext).getEvaluatorParameter().getName(); - String evaluatorName = JavaConstants.EVALUATOR_NAME; + String evaluatorName = JavaConstants.EXECUTOR_NAME; String className = cgTransformation.getName(); // js.append("public " + className + "(final "); js.appendIsRequired(true); js.append(" "); - js.appendClassReference(Evaluator.class); + js.appendClassReference(Executor.class); js.append(" " + evaluatorName + ") {\n"); js.pushIndentation(null); js.append("super(" + evaluatorName + ", new String[] {"); diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiGlobalContext.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiGlobalContext.java index 11149ed21..76a54fc39 100644 --- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiGlobalContext.java +++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiGlobalContext.java @@ -34,7 +34,7 @@ public class QVTiGlobalContext extends JavaGlobalContext public QVTiGlobalContext(@NonNull QVTiCodeGenerator codeGenerator) { super(codeGenerator); - nameManager.reserveName(JavaConstants.EVALUATOR_NAME, null); + nameManager.reserveName(JavaConstants.EXECUTOR_NAME, null); nameManager.reserveName(MODELS_NAME, null); } diff --git a/plugins/org.eclipse.qvtd.compiler/build.properties b/plugins/org.eclipse.qvtd.compiler/build.properties index edf09c6db..0a723ae46 100644 --- a/plugins/org.eclipse.qvtd.compiler/build.properties +++ b/plugins/org.eclipse.qvtd.compiler/build.properties @@ -8,7 +8,8 @@ # Contributors: # E.D.Willink - initial API and implementation ############################################################################### -source.. = src/ +source.. = src/,\ + emf-gen/ output.. = bin/ bin.includes = META-INF/,\ .,\ @@ -21,6 +22,7 @@ bin.includes = META-INF/,\ lib/org.eclipse.epsilon.flock.engine_1.3.0.201503231233.jar,\ lib/org.eclipse.epsilon.erl.engine_1.3.0.201503231233.jar,\ lib/org.eclipse.epsilon.emc.emf_1.3.0.201503231233.jar,\ - plugin.properties + plugin.properties,\ + plugin.xml additional.bundles = org.eclipse.ocl.jdt.annotation7 src.includes = about.html diff --git a/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/CS2ASJavaCompilerImpl.java b/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/CS2ASJavaCompilerImpl.java index 014723e23..3db5c2de4 100644 --- a/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/CS2ASJavaCompilerImpl.java +++ b/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/CS2ASJavaCompilerImpl.java @@ -32,6 +32,7 @@ import org.eclipse.ocl.examples.codegen.cse.GlobalPlace; import org.eclipse.ocl.examples.codegen.dynamic.OCL2JavaFileObject; import org.eclipse.ocl.examples.codegen.generator.TypeDescriptor; import org.eclipse.ocl.examples.codegen.java.CG2JavaPreVisitor; +import org.eclipse.ocl.examples.codegen.java.JavaConstants; import org.eclipse.ocl.examples.codegen.utilities.CGModelResourceFactory; import org.eclipse.ocl.pivot.OCLExpression; import org.eclipse.ocl.pivot.Operation; @@ -188,8 +189,10 @@ public class CS2ASJavaCompilerImpl implements CS2ASJavaCompiler { js.append(" "); js.append(envClassSymbol); js.append(" = new "); - js.append(envClassName); - js.append("(evaluator,"); + js.appendClassReference(envClassName); + js.append("("); + js.append(JavaConstants.EXECUTOR_NAME); + js.append(","); List pParameters = cgCall.getReferredOperation().getOwnedParameters(); int iMax = Math.min(pParameters.size(), cgArguments.size()); for (int i = 0; i < iMax; i++) { @@ -211,7 +214,7 @@ public class CS2ASJavaCompilerImpl implements CS2ASJavaCompiler { js.append(" "); js.append(visitorClassSymbol); js.append(" = new "); - js.append(params.getVisitorClassName()); + js.appendClassReference(params.getVisitorClassName()); js.append("("); js.append(envClassSymbol); js.append(");\n"); diff --git a/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMEvaluationVisitor.java b/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMEvaluationVisitor.java index 8cbc0d5f3..c41dd1794 100644 --- a/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMEvaluationVisitor.java +++ b/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMEvaluationVisitor.java @@ -28,11 +28,11 @@ import org.eclipse.ocl.pivot.Variable; import org.eclipse.ocl.pivot.evaluation.EvaluationEnvironment; import org.eclipse.ocl.pivot.evaluation.EvaluationLogger; import org.eclipse.ocl.pivot.evaluation.EvaluationVisitor; -import org.eclipse.ocl.pivot.evaluation.Evaluator; import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.evaluation.ModelManager; import org.eclipse.ocl.pivot.ids.IdResolver; import org.eclipse.ocl.pivot.util.Visitable; +import org.eclipse.ocl.pivot.utilities.MetamodelManager; import org.eclipse.qvtd.debug.QVTiDebugPlugin; import org.eclipse.qvtd.pivot.qvtimperative.evaluation.IQVTiEvaluationVisitor; import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiEnvironmentFactory; @@ -92,7 +92,7 @@ public class QVTiVMEvaluationVisitor extends AbstractMergedQVTimperativeVisitor< /** @deprecated Use this or getExecutor() */ @Deprecated @Override - public @NonNull Evaluator getEvaluator() { + public @NonNull EvaluationVisitor getEvaluator() { return context.getEvaluator(); } @@ -115,6 +115,13 @@ public class QVTiVMEvaluationVisitor extends AbstractMergedQVTimperativeVisitor< return context.getLogger(); } + /** @deprecated moved to Evaluator */ + @Deprecated + @Override + public @NonNull MetamodelManager getMetamodelManager() { + return context.getMetamodelManager(); + } + /** @deprecated moved to Evaluator */ @Deprecated @Override diff --git a/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMExecutor.java b/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMExecutor.java index 5979711d1..4d46bc82d 100644 --- a/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMExecutor.java +++ b/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMExecutor.java @@ -14,6 +14,7 @@ import java.io.IOException; import org.eclipse.emf.common.util.URI; import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.examples.debug.vm.evaluator.IVMContext; import org.eclipse.ocl.examples.debug.vm.evaluator.VMEvaluationStepper; import org.eclipse.ocl.examples.debug.vm.evaluator.VMExecutor; @@ -47,7 +48,7 @@ public class QVTiVMExecutor extends BasicQVTiExecutor implements VMExecutor } @Override - protected @NonNull QVTiVMEvaluationEnvironment createNestedEvaluationEnvironment(@NonNull EvaluationEnvironment evaluationEnvironment, @NonNull NamedElement executableObject, @NonNull OCLExpression callingObject) { + protected @NonNull QVTiVMEvaluationEnvironment createNestedEvaluationEnvironment(@NonNull EvaluationEnvironment.EvaluationEnvironmentExtension evaluationEnvironment, @NonNull NamedElement executableObject, @Nullable OCLExpression callingObject) { return new QVTiVMNestedEvaluationEnvironment((QVTiVMEvaluationEnvironment) evaluationEnvironment, executableObject, callingObject, ++envId); } diff --git a/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMNestedEvaluationEnvironment.java b/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMNestedEvaluationEnvironment.java index b690bf665..da0c476f6 100644 --- a/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMNestedEvaluationEnvironment.java +++ b/plugins/org.eclipse.qvtd.debug/src/org/eclipse/qvtd/debug/evaluator/QVTiVMNestedEvaluationEnvironment.java @@ -38,7 +38,7 @@ public class QVTiVMNestedEvaluationEnvironment extends QVTiNestedEvaluationEnvir private final long id; private final @NonNull Stack stepperStack = new Stack(); - public QVTiVMNestedEvaluationEnvironment(@NonNull QVTiVMEvaluationEnvironment evaluationEnvironment, @NonNull NamedElement executableObject, @NonNull OCLExpression callingObject, long id) { + public QVTiVMNestedEvaluationEnvironment(@NonNull QVTiVMEvaluationEnvironment evaluationEnvironment, @NonNull NamedElement executableObject, @Nullable OCLExpression callingObject, long id) { super(evaluationEnvironment, executableObject, callingObject); myStackDepth = evaluationEnvironment.getDepth() + 1; this.id = id; diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/AbstractTransformationEvaluator.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/AbstractTransformationEvaluator.java index 6c271db03..cef9bece3 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/AbstractTransformationEvaluator.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/evaluation/AbstractTransformationEvaluator.java @@ -15,7 +15,7 @@ import java.lang.reflect.InvocationTargetException; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.ocl.pivot.CompleteEnvironment; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.evaluation.ModelManager; import org.eclipse.ocl.pivot.ids.IdResolver; import org.eclipse.ocl.pivot.internal.complete.CompleteEnvironmentInternal; @@ -34,7 +34,7 @@ public abstract class AbstractTransformationEvaluator extends ExecutorManager im public AbstractTransformationEvaluator(@NonNull CompleteEnvironment environment, Class txClass) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException , NoSuchMethodException { - this(environment, ClassUtil.nonNullState(txClass.getConstructor(Evaluator.class))); + this(environment, ClassUtil.nonNullState(txClass.getConstructor(Executor.class))); } @Override 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 a8b7d6743..b2118be1a 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 @@ -28,6 +28,7 @@ import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.IdManager; import org.eclipse.ocl.pivot.ids.IdResolver; @@ -36,6 +37,7 @@ 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; +import org.eclipse.ocl.pivot.utilities.ValueUtil; public abstract class AbstractTransformationExecutor implements TransformationExecutor { @@ -264,6 +266,9 @@ public abstract class AbstractTransformationExecutor implements TransformationEx } } + protected final @NonNull Executor executor; + /** deprecated use executor */ + @Deprecated protected final @NonNull Evaluator evaluator; protected final @NonNull IdResolver idResolver; protected final @NonNull Model[] models; @@ -302,10 +307,17 @@ public abstract class AbstractTransformationExecutor implements TransformationEx */ private final @Nullable Map> classId2classIndexes; + /** @deprecated use Executor in constructor */ + @Deprecated protected AbstractTransformationExecutor(@NonNull Evaluator evaluator, @NonNull String[] modelNames, @Nullable PropertyId[] propertyIndex2propertyId, @Nullable ClassId[] classIndex2classId, @Nullable int[][] classIndex2allClassIndexes) { - this.evaluator = evaluator; - this.idResolver = evaluator.getIdResolver(); + this(ValueUtil.getExecutor(evaluator), modelNames, propertyIndex2propertyId, classIndex2classId, classIndex2allClassIndexes); + } + protected AbstractTransformationExecutor(@NonNull Executor executor, @NonNull String[] modelNames, + @Nullable PropertyId[] propertyIndex2propertyId, @Nullable ClassId[] classIndex2classId, @Nullable int[][] classIndex2allClassIndexes) { + this.executor = executor; + this.evaluator = executor; + this.idResolver = executor.getIdResolver(); this.models = new Model[modelNames.length]; for (int i = 0; i < modelNames.length; i++) { @SuppressWarnings("null")@NonNull String modelName = modelNames[i]; diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/BasicQVTiExecutor.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/BasicQVTiExecutor.java index 5728febc6..f01f8a7de 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/BasicQVTiExecutor.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/BasicQVTiExecutor.java @@ -73,7 +73,7 @@ public class BasicQVTiExecutor extends AbstractExecutor implements QVTiExecutor } @Override - protected @NonNull EvaluationVisitor createEvaluationVisitor() { + protected @NonNull EvaluationVisitor.EvaluationVisitorExtension createEvaluationVisitor() { IQVTiEvaluationVisitor visitor = new QVTiEvaluationVisitor(this); if (environmentFactory.isEvaluationTracingEnabled()) { // decorate the evaluation visitor with tracing support @@ -95,7 +95,7 @@ public class BasicQVTiExecutor extends AbstractExecutor implements QVTiExecutor } @Override - protected @NonNull EvaluationEnvironment createNestedEvaluationEnvironment(@NonNull EvaluationEnvironment evaluationEnvironment, @NonNull NamedElement executableObject, @NonNull OCLExpression callingObject) { + protected @NonNull EvaluationEnvironment.EvaluationEnvironmentExtension createNestedEvaluationEnvironment(@NonNull EvaluationEnvironment.EvaluationEnvironmentExtension evaluationEnvironment, @NonNull NamedElement executableObject, @Nullable OCLExpression callingObject) { if (evaluationEnvironment instanceof QVTiEvaluationEnvironment) { return new QVTiNestedEvaluationEnvironment((QVTiEvaluationEnvironment) evaluationEnvironment, executableObject, callingObject); } @@ -105,7 +105,7 @@ public class BasicQVTiExecutor extends AbstractExecutor implements QVTiExecutor } @Override - protected @NonNull EvaluationEnvironment createRootEvaluationEnvironment(@NonNull NamedElement executableObject) { + protected @NonNull EvaluationEnvironment.EvaluationEnvironmentExtension createRootEvaluationEnvironment(@NonNull NamedElement executableObject) { if (executableObject instanceof Transformation) { return new QVTiRootEvaluationEnvironment(this, (Transformation) executableObject); } diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/IQVTiEvaluationVisitor.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/IQVTiEvaluationVisitor.java index 108c336d1..aa4601417 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/IQVTiEvaluationVisitor.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/IQVTiEvaluationVisitor.java @@ -15,7 +15,7 @@ import org.eclipse.ocl.pivot.evaluation.EvaluationVisitor; import org.eclipse.ocl.pivot.util.Visitable; import org.eclipse.qvtd.pivot.qvtimperative.util.QVTimperativeVisitor; -public interface IQVTiEvaluationVisitor extends QVTimperativeVisitor, EvaluationVisitor +public interface IQVTiEvaluationVisitor extends QVTimperativeVisitor, EvaluationVisitor.EvaluationVisitorExtension { Object safeVisit(@Nullable Visitable v); } diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationEnvironment.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationEnvironment.java index 7b80f1af2..5305eb650 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationEnvironment.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationEnvironment.java @@ -17,7 +17,7 @@ import org.eclipse.ocl.pivot.evaluation.EvaluationEnvironment; import org.eclipse.qvtd.pivot.qvtbase.Transformation; import org.eclipse.qvtd.pivot.qvtcorebase.analysis.DomainUsage; -public interface QVTiEvaluationEnvironment extends EvaluationEnvironment +public interface QVTiEvaluationEnvironment extends EvaluationEnvironment.EvaluationEnvironmentExtension { @Override @NonNull QVTiExecutor getExecutor(); diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationVisitorDecorator.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationVisitorDecorator.java index 2da4bd5ad..bf95139b9 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationVisitorDecorator.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationVisitorDecorator.java @@ -15,7 +15,6 @@ import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.pivot.Import; import org.eclipse.ocl.pivot.OCLExpression; -import org.eclipse.ocl.pivot.evaluation.Evaluator; import org.eclipse.ocl.pivot.internal.evaluation.AbstractEvaluationVisitorDecorator; import org.eclipse.ocl.pivot.util.Visitable; import org.eclipse.ocl.pivot.utilities.ValueUtil; @@ -85,10 +84,10 @@ public abstract class QVTiEvaluationVisitorDecorator extends AbstractEvaluationV // return delegate.getEvaluator(); // } - @Override - public @NonNull Evaluator getEvaluator() { - return delegate.getEvaluator(); - } +// @Override +// public @NonNull EvaluationVisitor getEvaluator() { +// return delegate.getEvaluator(); +// } /** * Delegates to my decorated visitor. diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiNestedEvaluationEnvironment.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiNestedEvaluationEnvironment.java index 2ff06b59c..0946ba5c4 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiNestedEvaluationEnvironment.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiNestedEvaluationEnvironment.java @@ -28,7 +28,7 @@ public class QVTiNestedEvaluationEnvironment extends BasicEvaluationEnvironment protected final @NonNull QVTiRootEvaluationEnvironment rootEvaluationEnvironment; private @Nullable DomainUsageAnalysis usageAnalysis; - public QVTiNestedEvaluationEnvironment(@NonNull QVTiEvaluationEnvironment evaluationEnvironment, @NonNull NamedElement executableObject, @NonNull OCLExpression callingObject) { + public QVTiNestedEvaluationEnvironment(@NonNull QVTiEvaluationEnvironment evaluationEnvironment, @NonNull NamedElement executableObject, @Nullable OCLExpression callingObject) { super(evaluationEnvironment, executableObject, callingObject); rootEvaluationEnvironment = evaluationEnvironment.getRootEvaluationEnvironment(); } @@ -38,6 +38,7 @@ public class QVTiNestedEvaluationEnvironment extends BasicEvaluationEnvironment return (QVTiExecutor) super.getExecutor(); } + @Override public @NonNull QVTiEvaluationEnvironment getParentEvaluationEnvironment() { EvaluationEnvironment parent = getParent(); assert parent != null; diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTracingEvaluationVisitor.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTracingEvaluationVisitor.java index 8f5e74bbd..a07c9de32 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTracingEvaluationVisitor.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTracingEvaluationVisitor.java @@ -24,12 +24,12 @@ import org.eclipse.ocl.pivot.StandardLibrary; import org.eclipse.ocl.pivot.evaluation.EvaluationEnvironment; import org.eclipse.ocl.pivot.evaluation.EvaluationLogger; import org.eclipse.ocl.pivot.evaluation.EvaluationVisitor; -import org.eclipse.ocl.pivot.evaluation.Evaluator; import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.evaluation.ModelManager; import org.eclipse.ocl.pivot.ids.IdResolver; import org.eclipse.ocl.pivot.util.Visitable; import org.eclipse.ocl.pivot.utilities.EnvironmentFactory; +import org.eclipse.ocl.pivot.utilities.MetamodelManager; import org.eclipse.ocl.pivot.utilities.NameUtil; import org.eclipse.qvtd.pivot.qvtimperative.util.AbstractMergedQVTimperativeVisitor; @@ -112,7 +112,7 @@ public class QVTiTracingEvaluationVisitor extends AbstractMergedQVTimperativeVis /** @deprected moved to Evaluator */ @Deprecated @Override - public @NonNull Evaluator getEvaluator() { + public @NonNull EvaluationVisitor getEvaluator() { return context.getEvaluator(); } @@ -121,6 +121,13 @@ public class QVTiTracingEvaluationVisitor extends AbstractMergedQVTimperativeVis return context.getExecutor(); } + /** @deprecated moved to Evaluator */ + @Deprecated + @Override + public @NonNull MetamodelManager getMetamodelManager() { + return context.getMetamodelManager(); + } + @SuppressWarnings("deprecation") @Override public @NonNull ModelManager getModelManager() { diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/AllObjectsOperation.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/AllObjectsOperation.java index b2ba8c939..31484e3e1 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/AllObjectsOperation.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/AllObjectsOperation.java @@ -15,7 +15,7 @@ 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; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.TypeId; import org.eclipse.ocl.pivot.library.AbstractUnaryOperation; @@ -32,7 +32,7 @@ public class AllObjectsOperation extends AbstractUnaryOperation public static final @NonNull AllObjectsOperation INSTANCE = new AllObjectsOperation(); @Override - public @NonNull SetValue evaluate(@NonNull Evaluator evaluator, @NonNull TypeId returnTypeId, @Nullable Object sourceVal) { + public @NonNull SetValue evaluate(@NonNull Executor executor, @NonNull TypeId returnTypeId, @Nullable Object sourceVal) { if (!(sourceVal instanceof TypedModelInstance)) { throw new InvalidValueException(PivotMessages.TypedValueRequired, "TypedModelInstance", getTypeName(sourceVal)); } diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfKindOperation.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfKindOperation.java index a1cffdbcd..c549a75a7 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfKindOperation.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfKindOperation.java @@ -15,7 +15,7 @@ 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; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.TypeId; import org.eclipse.ocl.pivot.library.AbstractBinaryOperation; @@ -32,7 +32,7 @@ public class ModelObjectsOfKindOperation extends AbstractBinaryOperation public static final @NonNull ModelObjectsOfKindOperation INSTANCE = new ModelObjectsOfKindOperation(); @Override - public @NonNull SetValue evaluate(@NonNull Evaluator evaluator, @NonNull TypeId returnTypeId, @Nullable Object sourceVal, @Nullable Object typeVal) { + public @NonNull SetValue evaluate(@NonNull Executor executor, @NonNull TypeId returnTypeId, @Nullable Object sourceVal, @Nullable Object typeVal) { org.eclipse.ocl.pivot.Class type = asClass(typeVal); if (!(sourceVal instanceof TypedModelInstance)) { throw new InvalidValueException(PivotMessages.TypedValueRequired, "TypedModelInstance", getTypeName(sourceVal)); diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfTypeOperation.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfTypeOperation.java index 24d04b9e4..7dc98490f 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfTypeOperation.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/ModelObjectsOfTypeOperation.java @@ -15,7 +15,7 @@ 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; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.TypeId; import org.eclipse.ocl.pivot.library.AbstractBinaryOperation; @@ -32,7 +32,7 @@ public class ModelObjectsOfTypeOperation extends AbstractBinaryOperation public static final @NonNull ModelObjectsOfTypeOperation INSTANCE = new ModelObjectsOfTypeOperation(); @Override - public @NonNull SetValue evaluate(@NonNull Evaluator evaluator, @NonNull TypeId returnTypeId, @Nullable Object sourceVal, @Nullable Object typeVal) { + public @NonNull SetValue evaluate(@NonNull Executor executor, @NonNull TypeId returnTypeId, @Nullable Object sourceVal, @Nullable Object typeVal) { org.eclipse.ocl.pivot.Class type = asClass(typeVal); if (!(sourceVal instanceof TypedModelInstance)) { throw new InvalidValueException(PivotMessages.TypedValueRequired, "TypedModelInstance", getTypeName(sourceVal)); diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/RootObjectsOperation.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/RootObjectsOperation.java index 2e6f4ff56..1f9117206 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/RootObjectsOperation.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/library/model/RootObjectsOperation.java @@ -15,7 +15,7 @@ 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; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.TypeId; import org.eclipse.ocl.pivot.library.AbstractUnaryOperation; @@ -32,7 +32,7 @@ public class RootObjectsOperation extends AbstractUnaryOperation public static final @NonNull RootObjectsOperation INSTANCE = new RootObjectsOperation(); @Override - public @NonNull SetValue evaluate(@NonNull Evaluator evaluator, @NonNull TypeId returnTypeId, @Nullable Object sourceVal) { + public @NonNull SetValue evaluate(@NonNull Executor executor, @NonNull TypeId returnTypeId, @Nullable Object sourceVal) { if (!(sourceVal instanceof TypedModelInstance)) { throw new InvalidValueException(PivotMessages.TypedValueRequired, "TypedModelInstance", getTypeName(sourceVal)); } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/EnvExample1.ecore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/EnvExample1.ecore index 2944c2642..6d1410d81 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/EnvExample1.ecore +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/EnvExample1.ecore @@ -37,12 +37,12 @@
- +
- 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 f28152239..8179e8c84 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 @@ -9,8 +9,12 @@ - - + + + + + + @@ -258,7 +262,18 @@ - + + + + + + + + + + + @@ -267,20 +282,17 @@ + referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.8/@bottomPattern/@assignment.1/@value/@ownedIterators.0"/> - - - - - - + + + + @@ -316,18 +328,27 @@ - - - - - + + + + - + + + + + + + + + + @@ -363,7 +384,18 @@ - + + + + + + + + + + + @@ -371,7 +403,7 @@ + referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.10/@bottomPattern/@assignment.1/@value/@ownedSource/@ownedIterators.0"/> @@ -380,20 +412,17 @@ - + - - - - - - + + + + @@ -426,18 +455,27 @@ - - - - - + + + + - + + + + + + + + + + @@ -470,7 +508,18 @@ - + + + + + + + + + + + @@ -478,7 +527,7 @@ + referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.12/@bottomPattern/@assignment.1/@value/@ownedSource/@ownedIterators.0"/> @@ -487,20 +536,17 @@ - + - - - - - - + + + + @@ -524,18 +570,27 @@ - - - - - + + + + - + + + + + + + + + + @@ -559,7 +614,18 @@ - + + + + + + + + + + + @@ -567,7 +633,7 @@ + referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.14/@bottomPattern/@assignment.1/@value/@ownedSource/@ownedIterators.0"/> @@ -576,20 +642,17 @@ - + - - - - - - + + + + @@ -606,7 +669,18 @@ - + + + + + + + + + + + @@ -616,13 +690,10 @@ - - - - - - + + + + @@ -639,18 +710,27 @@ - - - - - + + + + - + + + + + + + + + + @@ -667,7 +747,18 @@ - + + + + + + + + + + + @@ -677,13 +768,10 @@ - - - - - - + + + + @@ -700,18 +788,27 @@ - - - - - + + + + - + + + + + + + + + + @@ -742,7 +839,18 @@ - + + + + + + + + + + + - - - - - - + + + + @@ -798,7 +903,18 @@ - + + + + + + + + + + + - - - - - - + + + + @@ -843,7 +956,18 @@ - + + + + + + + + + + + - - - - - - + + + + @@ -895,7 +1016,18 @@ - + + + + + + + + + + + - - - - - - + + + + @@ -1222,6 +1351,7 @@ + diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/java/LookupEnvironment.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/java/LookupEnvironment.java index f6125d841..d8c5b4b2d 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/java/LookupEnvironment.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/java/LookupEnvironment.java @@ -13,7 +13,7 @@ package org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java; import org.eclipse.emf.common.util.EList; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import example1.env.Environment; import example1.env.impl.EnvironmentImpl; @@ -22,26 +22,26 @@ import example1.target.NamedElement; public class LookupEnvironment extends EnvironmentImpl { - private @NonNull Evaluator evaluator; + private @NonNull Executor executor; private @NonNull String name; private boolean isLocal; - public LookupEnvironment(@NonNull Evaluator evaluator, @NonNull String name, boolean isLocalLookup) { - this.evaluator = evaluator; + public LookupEnvironment(@NonNull Executor executor, @NonNull String name, boolean isLocalLookup) { + this.executor = executor; this.name = name; this.isLocal = isLocalLookup; } - public LookupEnvironment(@NonNull Evaluator evaluator, @NonNull PathElementCS pathElement, boolean isLocalLookup) { - this.evaluator = evaluator; + public LookupEnvironment(@NonNull Executor executor, @NonNull PathElementCS pathElement, boolean isLocalLookup) { + this.executor = executor; this.name = pathElement.getName(); this.isLocal = isLocalLookup; } @Override @NonNull - public Evaluator getEvaluator() { - return evaluator; + public Executor getExecutor() { + return executor; } @Override diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/EnvExample2.ecore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/EnvExample2.ecore index 78518f6c5..a842beadb 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/EnvExample2.ecore +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/EnvExample2.ecore @@ -37,12 +37,12 @@
- +
- diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/java/LookupEnvironment.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/java/LookupEnvironment.java index f5574544e..a664b42b0 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/java/LookupEnvironment.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/java/LookupEnvironment.java @@ -13,7 +13,7 @@ package org.eclipse.qvtd.cs2as.compiler.tests.models.example2.java; import org.eclipse.emf.common.util.EList; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import example2.classes.NamedElement; import example2.classescs.PathElementCS; @@ -23,23 +23,23 @@ import example2.env.impl.EnvironmentImpl; public class LookupEnvironment extends EnvironmentImpl { - private @NonNull Evaluator evaluator; + private @NonNull Executor executor; private @NonNull String name; - public LookupEnvironment(@NonNull Evaluator evaluator, @NonNull String name) { - this.evaluator = evaluator; + public LookupEnvironment(@NonNull Executor executor, @NonNull String name) { + this.executor = executor; this.name = name; } - public LookupEnvironment(@NonNull Evaluator evaluator, @NonNull PathElementCS pathElement) { - this.evaluator = evaluator; + public LookupEnvironment(@NonNull Executor executor, @NonNull PathElementCS pathElement) { + this.executor = executor; this.name = pathElement.getName(); } @Override @NonNull - public Evaluator getEvaluator() { - return evaluator; + public Executor getExecutor() { + return executor; } @Override diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2Target_qvtp_qvtias/Source2Target_qvtp_qvtias.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2Target_qvtp_qvtias/Source2Target_qvtp_qvtias.java index e3f3be3a3..8778952fe 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2Target_qvtp_qvtias/Source2Target_qvtp_qvtias.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2Target_qvtp_qvtias/Source2Target_qvtp_qvtias.java @@ -37,7 +37,7 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; import org.eclipse.ocl.pivot.Class; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.IdManager; @@ -142,8 +142,8 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor {4} // 4 : Z -> {Z} }; - public Source2Target_qvtp_qvtias(final /*@NonNull*/ Evaluator evaluator) { - super(evaluator, new String[] {"leftCS", "rightAS"}, null, classIndex2classId, classIndex2allClassIndexes); + public Source2Target_qvtp_qvtias(final /*@NonNull*/ Executor executor) { + super(executor, new String[] {"leftCS", "rightAS"}, null, classIndex2classId, classIndex2allClassIndexes); } public boolean run() { @@ -164,15 +164,15 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor * endif */ public /*@Nullable*/ /*@NonInvalid*/ Namespace lookupNamespace(final /*@NonNull*/ /*@NonInvalid*/ Visitable self_0, final /*@NonNull*/ /*@NonInvalid*/ List pathSeq) { - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ OrderedSetValue BOXED_pathSeq_0 = idResolver.createOrderedSetOfAll(ORD_CLSSid_PathElementCS, pathSeq); final /*@NonNull*/ /*@NonInvalid*/ IntegerValue size = CollectionSizeOperation.INSTANCE.evaluate(BOXED_pathSeq_0); final /*@NonInvalid*/ boolean eq = size.equals(INT_1); /*@Nullable*/ /*@Thrown*/ Namespace symbol_1; if (eq) { final /*@Nullable*/ /*@Thrown*/ PathElementCS first = (PathElementCS)OrderedCollectionFirstOperation.INSTANCE.evaluate(BOXED_pathSeq_0); - LookupEnvironment _lookupEnv = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.LookupEnvironment(evaluator,first, ValueUtil.FALSE_VALUE); - TargetLookupVisitor _lookupVisitor = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.TargetLookupVisitor(_lookupEnv); + LookupEnvironment _lookupEnv = new LookupEnvironment(executor,first, ValueUtil.FALSE_VALUE); + TargetLookupVisitor _lookupVisitor = new TargetLookupVisitor(_lookupEnv); EList _lookupResult = self_0.accept(_lookupVisitor).getNamedElements(); Namespace _lookupNamespace = null; if (_lookupResult.size() == 1) { @@ -202,8 +202,8 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor } else { final /*@Nullable*/ /*@Thrown*/ PathElementCS last = (PathElementCS)OrderedCollectionLastOperation.INSTANCE.evaluate(BOXED_pathSeq_0); - LookupEnvironment _lookupEnv_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.LookupEnvironment(evaluator,last, ValueUtil.TRUE_VALUE); - TargetLookupVisitor _lookupVisitor_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.TargetLookupVisitor(_lookupEnv_0); + LookupEnvironment _lookupEnv_0 = new LookupEnvironment(executor,last, ValueUtil.TRUE_VALUE); + TargetLookupVisitor _lookupVisitor_0 = new TargetLookupVisitor(_lookupEnv_0); EList _lookupResult_0 = lookupNamespace.accept(_lookupVisitor_0).getNamedElements(); Namespace _lookupNamespace_0 = null; if (_lookupResult_0.size() == 1) { @@ -424,10 +424,10 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean cZ_2_D_0(final /*@NonNull*/ /*@NonInvalid*/ Z z) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y1_0 = idResolver.getClass(CLSSid_Y1, null); final /*@Nullable*/ /*@Thrown*/ Y toY = z.getToY(); - final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(evaluator, toY, TYP_source_c_c_Y1_0).booleanValue(); + final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, toY, TYP_source_c_c_Y1_0).booleanValue(); final /*@Nullable*/ /*@Thrown*/ Boolean not = BooleanNotOperation.INSTANCE.evaluate(oclIsKindOf); if (not != ValueUtil.TRUE_VALUE) { return false; @@ -460,10 +460,10 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean cZ_2_D_1(final /*@NonNull*/ /*@NonInvalid*/ Z z_0) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y1_0 = idResolver.getClass(CLSSid_Y1, null); final /*@Nullable*/ /*@Thrown*/ Y toY = z_0.getToY(); - final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(evaluator, toY, TYP_source_c_c_Y1_0).booleanValue(); + final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, toY, TYP_source_c_c_Y1_0).booleanValue(); if (!oclIsKindOf) { return false; } @@ -498,12 +498,11 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uTRoot_ownedA(final /*@NonNull*/ /*@NonInvalid*/ SRoot sRoot_0) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_TRoot_0 = idResolver.getClass(CLSSid_TRoot, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = sRoot_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ TRoot oclAsType = ClassUtil.nonNullState((TRoot)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_TRoot_0)); - @SuppressWarnings("null") + final /*@NonNull*/ /*@Thrown*/ TRoot oclAsType = ClassUtil.nonNullState((TRoot)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_TRoot_0)); final /*@NonNull*/ /*@Thrown*/ List ownedX = sRoot_0.getOwnedX(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_ownedX = idResolver.createOrderedSetOfAll(ORD_CLSSid_X, ownedX); /*@NonNull*/ /*@Thrown*/ SequenceValue.Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_A); @@ -523,7 +522,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor throwNull(sRoot_0, "Null source for \'\'http://cs2as/tests/example1/sourceMM/1.0\'::SElement::ast\'"); } final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = _1.getAst(); - final /*@NonNull*/ /*@Thrown*/ A oclAsType_0 = ClassUtil.nonNullState((A)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_target_c_c_A_0)); + final /*@NonNull*/ /*@Thrown*/ A oclAsType_0 = ClassUtil.nonNullState((A)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_target_c_c_A_0)); // accumulator.add(oclAsType_0); } @@ -558,7 +557,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uA3_name(final /*@NonNull*/ /*@NonInvalid*/ X x_2) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@Nullable*/ /*@Thrown*/ Boolean isA1 = x_2.isIsA1(); final /*@Nullable*/ /*@Thrown*/ Boolean not = BooleanNotOperation.INSTANCE.evaluate(isA1); if (not != ValueUtil.TRUE_VALUE) { @@ -572,7 +571,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_A3_0 = idResolver.getClass(CLSSid_A3, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = x_2.getAst(); - final /*@NonNull*/ /*@Thrown*/ A3 oclAsType = ClassUtil.nonNullState((A3)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_A3_0)); + final /*@NonNull*/ /*@Thrown*/ A3 oclAsType = ClassUtil.nonNullState((A3)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_A3_0)); final /*@Nullable*/ /*@Thrown*/ String name = x_2.getName(); // property assignments oclAsType.setName(name); @@ -605,7 +604,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uA3_ownsC(final /*@NonNull*/ /*@NonInvalid*/ X x_3) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@Nullable*/ /*@Thrown*/ Boolean isA1 = x_3.isIsA1(); final /*@Nullable*/ /*@Thrown*/ Boolean not = BooleanNotOperation.INSTANCE.evaluate(isA1); if (not != ValueUtil.TRUE_VALUE) { @@ -619,8 +618,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_A3_0 = idResolver.getClass(CLSSid_A3, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = x_3.getAst(); - final /*@NonNull*/ /*@Thrown*/ A3 oclAsType = ClassUtil.nonNullState((A3)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_A3_0)); - @SuppressWarnings("null") + final /*@NonNull*/ /*@Thrown*/ A3 oclAsType = ClassUtil.nonNullState((A3)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_A3_0)); final /*@NonNull*/ /*@Thrown*/ List ownsY = x_3.getOwnsY(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_ownsY = idResolver.createOrderedSetOfAll(ORD_CLSSid_Y, ownsY); /*@NonNull*/ /*@Thrown*/ SequenceValue.Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Y2); @@ -636,7 +634,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor * oclAsType(source::Y2) */ final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y2_0 = idResolver.getClass(CLSSid_Y2, null); - final /*@NonNull*/ /*@Thrown*/ Y2 oclAsType_0 = ClassUtil.nonNullState((Y2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, _1, TYP_source_c_c_Y2_0)); + final /*@NonNull*/ /*@Thrown*/ Y2 oclAsType_0 = ClassUtil.nonNullState((Y2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, _1, TYP_source_c_c_Y2_0)); // accumulator.add(oclAsType_0); } @@ -654,7 +652,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_C_0 = idResolver.getClass(CLSSid_C, null); final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = _1_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ C oclAsType_1 = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_target_c_c_C_0)); + final /*@NonNull*/ /*@Thrown*/ C oclAsType_1 = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_target_c_c_C_0)); // accumulator_0.add(oclAsType_1); } @@ -689,7 +687,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uA2_name(final /*@NonNull*/ /*@NonInvalid*/ X x_4) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@Nullable*/ /*@Thrown*/ Boolean isA2 = x_4.isIsA2(); if (isA2 != ValueUtil.TRUE_VALUE) { return false; @@ -702,7 +700,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_A2_0 = idResolver.getClass(CLSSid_A2, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = x_4.getAst(); - final /*@NonNull*/ /*@Thrown*/ A2 oclAsType = ClassUtil.nonNullState((A2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_A2_0)); + final /*@NonNull*/ /*@Thrown*/ A2 oclAsType = ClassUtil.nonNullState((A2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_A2_0)); final /*@Nullable*/ /*@Thrown*/ String name = x_4.getName(); // property assignments oclAsType.setName(name); @@ -735,7 +733,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uA2_ownsC(final /*@NonNull*/ /*@NonInvalid*/ X x_5) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@Nullable*/ /*@Thrown*/ Boolean isA2 = x_5.isIsA2(); if (isA2 != ValueUtil.TRUE_VALUE) { return false; @@ -748,8 +746,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_A2_0 = idResolver.getClass(CLSSid_A2, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = x_5.getAst(); - final /*@NonNull*/ /*@Thrown*/ A2 oclAsType = ClassUtil.nonNullState((A2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_A2_0)); - @SuppressWarnings("null") + final /*@NonNull*/ /*@Thrown*/ A2 oclAsType = ClassUtil.nonNullState((A2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_A2_0)); final /*@NonNull*/ /*@Thrown*/ List ownsY = x_5.getOwnsY(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_ownsY = idResolver.createOrderedSetOfAll(ORD_CLSSid_Y, ownsY); /*@NonNull*/ /*@Thrown*/ SequenceValue.Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Y2); @@ -765,7 +762,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor * oclAsType(source::Y2) */ final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y2_0 = idResolver.getClass(CLSSid_Y2, null); - final /*@NonNull*/ /*@Thrown*/ Y2 oclAsType_0 = ClassUtil.nonNullState((Y2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, _1, TYP_source_c_c_Y2_0)); + final /*@NonNull*/ /*@Thrown*/ Y2 oclAsType_0 = ClassUtil.nonNullState((Y2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, _1, TYP_source_c_c_Y2_0)); // accumulator.add(oclAsType_0); } @@ -783,7 +780,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_C_0 = idResolver.getClass(CLSSid_C, null); final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = _1_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ C oclAsType_1 = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_target_c_c_C_0)); + final /*@NonNull*/ /*@Thrown*/ C oclAsType_1 = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_target_c_c_C_0)); // accumulator_0.add(oclAsType_1); } @@ -817,7 +814,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uA1_name(final /*@NonNull*/ /*@NonInvalid*/ X x_6) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@Nullable*/ /*@Thrown*/ Boolean isA1 = x_6.isIsA1(); if (isA1 != ValueUtil.TRUE_VALUE) { return false; @@ -825,7 +822,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_A1_0 = idResolver.getClass(CLSSid_A1, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = x_6.getAst(); - final /*@NonNull*/ /*@Thrown*/ A1 oclAsType = ClassUtil.nonNullState((A1)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_A1_0)); + final /*@NonNull*/ /*@Thrown*/ A1 oclAsType = ClassUtil.nonNullState((A1)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_A1_0)); final /*@Nullable*/ /*@Thrown*/ String name = x_6.getName(); // property assignments oclAsType.setName(name); @@ -857,7 +854,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uA1_ownsB(final /*@NonNull*/ /*@NonInvalid*/ X x_7) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@Nullable*/ /*@Thrown*/ Boolean isA1 = x_7.isIsA1(); if (isA1 != ValueUtil.TRUE_VALUE) { return false; @@ -865,8 +862,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_A1_0 = idResolver.getClass(CLSSid_A1, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = x_7.getAst(); - final /*@NonNull*/ /*@Thrown*/ A1 oclAsType = ClassUtil.nonNullState((A1)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_A1_0)); - @SuppressWarnings("null") + final /*@NonNull*/ /*@Thrown*/ A1 oclAsType = ClassUtil.nonNullState((A1)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_A1_0)); final /*@NonNull*/ /*@Thrown*/ List ownsY = x_7.getOwnsY(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_ownsY = idResolver.createOrderedSetOfAll(ORD_CLSSid_Y, ownsY); /*@NonNull*/ /*@Thrown*/ SequenceValue.Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Y1); @@ -882,7 +878,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor * oclAsType(source::Y1) */ final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y1_0 = idResolver.getClass(CLSSid_Y1, null); - final /*@NonNull*/ /*@Thrown*/ Y1 oclAsType_0 = ClassUtil.nonNullState((Y1)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, _1, TYP_source_c_c_Y1_0)); + final /*@NonNull*/ /*@Thrown*/ Y1 oclAsType_0 = ClassUtil.nonNullState((Y1)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, _1, TYP_source_c_c_Y1_0)); // accumulator.add(oclAsType_0); } @@ -900,7 +896,7 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_B_0 = idResolver.getClass(CLSSid_B, null); final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = _1_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ B oclAsType_1 = ClassUtil.nonNullState((B)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_target_c_c_B_0)); + final /*@NonNull*/ /*@Thrown*/ B oclAsType_1 = ClassUtil.nonNullState((B)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_target_c_c_B_0)); // accumulator_0.add(oclAsType_1); } @@ -933,18 +929,18 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uB_ownsD(final /*@NonNull*/ /*@NonInvalid*/ Y1 y1_0) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_B_0 = idResolver.getClass(CLSSid_B, null); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_D_0 = idResolver.getClass(CLSSid_D, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = y1_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ B oclAsType = ClassUtil.nonNullState((B)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_B_0)); + final /*@NonNull*/ /*@Thrown*/ B oclAsType = ClassUtil.nonNullState((B)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_B_0)); final /*@Nullable*/ /*@Thrown*/ Z ownsZ = y1_0.getOwnsZ(); if (ownsZ == null) { throwNull(y1_0, "Null source for \'\'http://cs2as/tests/example1/sourceMM/1.0\'::SElement::ast\'"); } final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = ownsZ.getAst(); - final /*@NonNull*/ /*@Thrown*/ D oclAsType_0 = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_target_c_c_D_0)); + final /*@NonNull*/ /*@Thrown*/ D oclAsType_0 = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_target_c_c_D_0)); // property assignments oclAsType.setOwnsD(oclAsType_0); return true; @@ -971,11 +967,11 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uB_name(final /*@NonNull*/ /*@NonInvalid*/ Y1 y1_1) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_B_0 = idResolver.getClass(CLSSid_B, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = y1_1.getAst(); - final /*@NonNull*/ /*@Thrown*/ B oclAsType = ClassUtil.nonNullState((B)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_B_0)); + final /*@NonNull*/ /*@Thrown*/ B oclAsType = ClassUtil.nonNullState((B)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_B_0)); final /*@Nullable*/ /*@Thrown*/ String name = y1_1.getName(); // property assignments oclAsType.setName(name); @@ -1004,18 +1000,18 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uC_ownsD(final /*@NonNull*/ /*@NonInvalid*/ Y2 y2_0) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_C_0 = idResolver.getClass(CLSSid_C, null); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_D_0 = idResolver.getClass(CLSSid_D, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = y2_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ C oclAsType = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_C_0)); + final /*@NonNull*/ /*@Thrown*/ C oclAsType = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_C_0)); final /*@Nullable*/ /*@Thrown*/ Z ownsZ = y2_0.getOwnsZ(); if (ownsZ == null) { throwNull(y2_0, "Null source for \'\'http://cs2as/tests/example1/sourceMM/1.0\'::SElement::ast\'"); } final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = ownsZ.getAst(); - final /*@NonNull*/ /*@Thrown*/ D oclAsType_0 = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_target_c_c_D_0)); + final /*@NonNull*/ /*@Thrown*/ D oclAsType_0 = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_target_c_c_D_0)); // property assignments oclAsType.setOwnsD(oclAsType_0); return true; @@ -1042,11 +1038,11 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uC_name(final /*@NonNull*/ /*@NonInvalid*/ Y2 y2_1) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_C_0 = idResolver.getClass(CLSSid_C, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = y2_1.getAst(); - final /*@NonNull*/ /*@Thrown*/ C oclAsType = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_C_0)); + final /*@NonNull*/ /*@Thrown*/ C oclAsType = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_C_0)); final /*@Nullable*/ /*@Thrown*/ String name = y2_1.getName(); // property assignments oclAsType.setName(name); @@ -1078,10 +1074,10 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uD_0_toA(final /*@NonNull*/ /*@NonInvalid*/ Z z_1) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y1_0 = idResolver.getClass(CLSSid_Y1, null); final /*@Nullable*/ /*@Thrown*/ Y toY = z_1.getToY(); - final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(evaluator, toY, TYP_source_c_c_Y1_0).booleanValue(); + final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, toY, TYP_source_c_c_Y1_0).booleanValue(); final /*@Nullable*/ /*@Thrown*/ Boolean not = BooleanNotOperation.INSTANCE.evaluate(oclIsKindOf); if (not != ValueUtil.TRUE_VALUE) { return false; @@ -1091,10 +1087,10 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_D_0 = idResolver.getClass(CLSSid_D, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = z_1.getAst(); - final /*@NonNull*/ /*@Thrown*/ D oclAsType = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_D_0)); - final /*@NonNull*/ /*@Thrown*/ Y2 oclAsType_0 = ClassUtil.nonNullState((Y2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, toY, TYP_source_c_c_Y2_0)); + final /*@NonNull*/ /*@Thrown*/ D oclAsType = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_D_0)); + final /*@NonNull*/ /*@Thrown*/ Y2 oclAsType_0 = ClassUtil.nonNullState((Y2)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, toY, TYP_source_c_c_Y2_0)); final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = oclAsType_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ C oclAsType_1 = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_target_c_c_C_0)); + final /*@NonNull*/ /*@Thrown*/ C oclAsType_1 = ClassUtil.nonNullState((C)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_target_c_c_C_0)); final /*@Nullable*/ /*@Thrown*/ A2 toA2 = oclAsType_1.getToA2(); // property assignments oclAsType.setToA(toA2); @@ -1126,10 +1122,10 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uD_0_refsC(final /*@NonNull*/ /*@NonInvalid*/ Z z_2) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y1_0 = idResolver.getClass(CLSSid_Y1, null); final /*@Nullable*/ /*@Thrown*/ Y toY = z_2.getToY(); - final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(evaluator, toY, TYP_source_c_c_Y1_0).booleanValue(); + final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, toY, TYP_source_c_c_Y1_0).booleanValue(); final /*@Nullable*/ /*@Thrown*/ Boolean not = BooleanNotOperation.INSTANCE.evaluate(oclIsKindOf); if (not != ValueUtil.TRUE_VALUE) { return false; @@ -1137,8 +1133,8 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_D_0 = idResolver.getClass(CLSSid_D, null); final /*@Nullable*/ /*@Thrown*/ EObject ast = z_2.getAst(); // variable assignments - final /*@NonNull*/ /*@Thrown*/ D oclAsType = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_D_0)); - final /*@NonNull*/ /*@Thrown*/ D self_1 = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_D_0)); + final /*@NonNull*/ /*@Thrown*/ D oclAsType = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_D_0)); + final /*@NonNull*/ /*@Thrown*/ D self_1 = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_D_0)); final /*@Nullable*/ /*@Thrown*/ PathNameCS refers = z_2.getRefers(); final /*@Thrown*/ boolean eq = refers == null; /*@Nullable*/ /*@Thrown*/ C symbol_3; @@ -1149,7 +1145,6 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor if (refers == null) { throwNull(z_2, "Null source for \'\'http://cs2as/tests/example1/sourceMM/1.0\'::PathNameCS::path\'"); } - @SuppressWarnings("null") final /*@NonNull*/ /*@Thrown*/ List pathSeq_0 = refers.getPath(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_pathSeq_0_0 = idResolver.createOrderedSetOfAll(ORD_CLSSid_PathElementCS, pathSeq_0); final /*@NonNull*/ /*@Thrown*/ IntegerValue size = CollectionSizeOperation.INSTANCE.evaluate(BOXED_pathSeq_0_0); @@ -1157,8 +1152,8 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor /*@Nullable*/ /*@Thrown*/ C symbol_2; if (eq_0) { final /*@Nullable*/ /*@Thrown*/ PathElementCS first = (PathElementCS)OrderedCollectionFirstOperation.INSTANCE.evaluate(BOXED_pathSeq_0_0); - LookupEnvironment _lookupEnv = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.LookupEnvironment(evaluator,first, ValueUtil.FALSE_VALUE); - TargetLookupVisitor _lookupVisitor = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.TargetLookupVisitor(_lookupEnv); + LookupEnvironment _lookupEnv = new LookupEnvironment(executor,first, ValueUtil.FALSE_VALUE); + TargetLookupVisitor _lookupVisitor = new TargetLookupVisitor(_lookupEnv); EList _lookupResult = self_1.accept(_lookupVisitor).getNamedElements(); C _lookupC = null; if (_lookupResult.size() == 1) { @@ -1188,8 +1183,8 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor } else { final /*@Nullable*/ /*@Thrown*/ PathElementCS last = (PathElementCS)OrderedCollectionLastOperation.INSTANCE.evaluate(BOXED_pathSeq_0_0); - LookupEnvironment _lookupEnv_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.LookupEnvironment(evaluator,last, ValueUtil.TRUE_VALUE); - TargetLookupVisitor _lookupVisitor_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.TargetLookupVisitor(_lookupEnv_0); + LookupEnvironment _lookupEnv_0 = new LookupEnvironment(executor,last, ValueUtil.TRUE_VALUE); + TargetLookupVisitor _lookupVisitor_0 = new TargetLookupVisitor(_lookupEnv_0); EList _lookupResult_0 = lookupNamespace.accept(_lookupVisitor_0).getNamedElements(); C _lookupC_0 = null; if (_lookupResult_0.size() == 1) { @@ -1233,10 +1228,10 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uD_1_toA(final /*@NonNull*/ /*@NonInvalid*/ Z z_3) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y1_0 = idResolver.getClass(CLSSid_Y1, null); final /*@Nullable*/ /*@Thrown*/ Y toY = z_3.getToY(); - final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(evaluator, toY, TYP_source_c_c_Y1_0).booleanValue(); + final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, toY, TYP_source_c_c_Y1_0).booleanValue(); if (!oclIsKindOf) { return false; } @@ -1244,10 +1239,10 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_D_0 = idResolver.getClass(CLSSid_D, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = z_3.getAst(); - final /*@NonNull*/ /*@Thrown*/ D oclAsType = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_D_0)); - final /*@NonNull*/ /*@Thrown*/ Y1 oclAsType_0 = ClassUtil.nonNullState((Y1)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, toY, TYP_source_c_c_Y1_0)); + final /*@NonNull*/ /*@Thrown*/ D oclAsType = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_D_0)); + final /*@NonNull*/ /*@Thrown*/ Y1 oclAsType_0 = ClassUtil.nonNullState((Y1)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, toY, TYP_source_c_c_Y1_0)); final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = oclAsType_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ B oclAsType_1 = ClassUtil.nonNullState((B)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_target_c_c_B_0)); + final /*@NonNull*/ /*@Thrown*/ B oclAsType_1 = ClassUtil.nonNullState((B)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_target_c_c_B_0)); final /*@Nullable*/ /*@Thrown*/ A1 toA1 = oclAsType_1.getToA1(); // property assignments oclAsType.setToA(toA1); @@ -1279,18 +1274,18 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uD_1_refsB(final /*@NonNull*/ /*@NonInvalid*/ Z z_4) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y1_0 = idResolver.getClass(CLSSid_Y1, null); final /*@Nullable*/ /*@Thrown*/ Y toY = z_4.getToY(); - final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(evaluator, toY, TYP_source_c_c_Y1_0).booleanValue(); + final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, toY, TYP_source_c_c_Y1_0).booleanValue(); if (!oclIsKindOf) { return false; } final /*@NonNull*/ /*@NonInvalid*/ Class TYP_target_c_c_D_0 = idResolver.getClass(CLSSid_D, null); final /*@Nullable*/ /*@Thrown*/ EObject ast = z_4.getAst(); // variable assignments - final /*@NonNull*/ /*@Thrown*/ D oclAsType = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_D_0)); - final /*@NonNull*/ /*@Thrown*/ D self_1 = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_target_c_c_D_0)); + final /*@NonNull*/ /*@Thrown*/ D oclAsType = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_D_0)); + final /*@NonNull*/ /*@Thrown*/ D self_1 = ClassUtil.nonNullState((D)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_target_c_c_D_0)); final /*@Nullable*/ /*@Thrown*/ PathNameCS refers = z_4.getRefers(); final /*@Thrown*/ boolean eq = refers == null; /*@Nullable*/ /*@Thrown*/ B symbol_3; @@ -1301,7 +1296,6 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor if (refers == null) { throwNull(z_4, "Null source for \'\'http://cs2as/tests/example1/sourceMM/1.0\'::PathNameCS::path\'"); } - @SuppressWarnings("null") final /*@NonNull*/ /*@Thrown*/ List pathSeq_0 = refers.getPath(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_pathSeq_0_0 = idResolver.createOrderedSetOfAll(ORD_CLSSid_PathElementCS, pathSeq_0); final /*@NonNull*/ /*@Thrown*/ IntegerValue size = CollectionSizeOperation.INSTANCE.evaluate(BOXED_pathSeq_0_0); @@ -1309,8 +1303,8 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor /*@Nullable*/ /*@Thrown*/ B symbol_2; if (eq_0) { final /*@Nullable*/ /*@Thrown*/ PathElementCS first = (PathElementCS)OrderedCollectionFirstOperation.INSTANCE.evaluate(BOXED_pathSeq_0_0); - LookupEnvironment _lookupEnv = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.LookupEnvironment(evaluator,first, ValueUtil.FALSE_VALUE); - TargetLookupVisitor _lookupVisitor = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.TargetLookupVisitor(_lookupEnv); + LookupEnvironment _lookupEnv = new LookupEnvironment(executor,first, ValueUtil.FALSE_VALUE); + TargetLookupVisitor _lookupVisitor = new TargetLookupVisitor(_lookupEnv); EList _lookupResult = self_1.accept(_lookupVisitor).getNamedElements(); B _lookupB = null; if (_lookupResult.size() == 1) { @@ -1340,8 +1334,8 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor } else { final /*@Nullable*/ /*@Thrown*/ PathElementCS last = (PathElementCS)OrderedCollectionLastOperation.INSTANCE.evaluate(BOXED_pathSeq_0_0); - LookupEnvironment _lookupEnv_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.LookupEnvironment(evaluator,last, ValueUtil.TRUE_VALUE); - TargetLookupVisitor _lookupVisitor_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example1.java.TargetLookupVisitor(_lookupEnv_0); + LookupEnvironment _lookupEnv_0 = new LookupEnvironment(executor,last, ValueUtil.TRUE_VALUE); + TargetLookupVisitor _lookupVisitor_0 = new TargetLookupVisitor(_lookupEnv_0); EList _lookupResult_0 = lookupNamespace.accept(_lookupVisitor_0).getNamedElements(); B _lookupB_0 = null; if (_lookupResult_0.size() == 1) { @@ -1484,17 +1478,17 @@ public class Source2Target_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean __root__() { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_SRoot_1 = idResolver.getClass(CLSSid_SRoot, null); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_X_8 = idResolver.getClass(CLSSid_X, null); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y1_2 = idResolver.getClass(CLSSid_Y1, null); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Y2_2 = idResolver.getClass(CLSSid_Y2, null); final /*@NonNull*/ /*@NonInvalid*/ Class TYP_source_c_c_Z_5 = idResolver.getClass(CLSSid_Z, null); - final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_3 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_SRoot, TYP_source_c_c_SRoot_1); - final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_1 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_X, TYP_source_c_c_X_8); - final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_15 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Y1, TYP_source_c_c_Y1_2); - final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_17 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Y2, TYP_source_c_c_Y2_2); - final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_7 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Z, TYP_source_c_c_Z_5); + final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_3 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_SRoot, TYP_source_c_c_SRoot_1); + final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_1 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_X, TYP_source_c_c_X_8); + final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_15 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_Y1, TYP_source_c_c_Y1_2); + final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_17 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_Y2, TYP_source_c_c_Y2_2); + final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_7 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_Z, TYP_source_c_c_Z_5); final List UNBOXED_allInstances_3 = allInstances_3.asEcoreObjects(idResolver, SRoot.class); assert UNBOXED_allInstances_3 != null; final List UNBOXED_allInstances_1 = allInstances_1.asEcoreObjects(idResolver, X.class); diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtias/classescs2as_qvtp_qvtias.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtias/classescs2as_qvtp_qvtias.java index 618b88f43..b1747789b 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtias/classescs2as_qvtp_qvtias.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtias/classescs2as_qvtp_qvtias.java @@ -26,7 +26,7 @@ import java.util.List; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.IdManager; @@ -114,8 +114,8 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor {2} // 2 : RootCS -> {RootCS} }; - public classescs2as_qvtp_qvtias(final /*@NonNull*/ Evaluator evaluator) { - super(evaluator, new String[] {"leftCS", "rightAS"}, null, classIndex2classId, classIndex2allClassIndexes); + public classescs2as_qvtp_qvtias(final /*@NonNull*/ Executor executor) { + super(executor, new String[] {"leftCS", "rightAS"}, null, classIndex2classId, classIndex2allClassIndexes); } public boolean run() { @@ -135,15 +135,15 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor * endif */ public /*@Nullable*/ /*@NonInvalid*/ Package lookupPackage(final /*@NonNull*/ /*@NonInvalid*/ Visitable self_0, final /*@NonNull*/ /*@NonInvalid*/ List pathSeq) { - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ OrderedSetValue BOXED_pathSeq_3 = idResolver.createOrderedSetOfAll(ORD_CLSSid_PathElementCS, pathSeq); final /*@NonNull*/ /*@NonInvalid*/ IntegerValue size = CollectionSizeOperation.INSTANCE.evaluate(BOXED_pathSeq_3); final /*@NonInvalid*/ boolean eq = size.equals(INT_1); /*@Nullable*/ /*@Thrown*/ Package symbol_0; if (eq) { final /*@Nullable*/ /*@Thrown*/ PathElementCS first = (PathElementCS)OrderedCollectionFirstOperation.INSTANCE.evaluate(BOXED_pathSeq_3); - LookupEnvironment _lookupEnv = new org.eclipse.qvtd.cs2as.compiler.tests.models.example2.java.LookupEnvironment(evaluator,first); - ClassesLookupVisitor _lookupVisitor = new org.eclipse.qvtd.cs2as.compiler.tests.models.example2.java.ClassesLookupVisitor(_lookupEnv); + LookupEnvironment _lookupEnv = new LookupEnvironment(executor,first); + ClassesLookupVisitor _lookupVisitor = new ClassesLookupVisitor(_lookupEnv); EList _lookupResult = self_0.accept(_lookupVisitor).getNamedElements(); Package _lookupPackage = null; if (_lookupResult.size() == 1) { @@ -160,8 +160,8 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor assert UNBOXED_subOrderedSet != null; final /*@Nullable*/ /*@Thrown*/ Package lookupPackage = this.lookupPackage(self_0, UNBOXED_subOrderedSet); final /*@Nullable*/ /*@Thrown*/ PathElementCS last = (PathElementCS)OrderedCollectionLastOperation.INSTANCE.evaluate(BOXED_pathSeq_3); - LookupEnvironment _lookupEnv_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example2.java.LookupEnvironment(evaluator,last); - ClassesLookupVisitor _lookupVisitor_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example2.java.ClassesLookupVisitor(_lookupEnv_0); + LookupEnvironment _lookupEnv_0 = new LookupEnvironment(executor,last); + ClassesLookupVisitor _lookupVisitor_0 = new ClassesLookupVisitor(_lookupEnv_0); EList _lookupResult_0 = lookupPackage.accept(_lookupVisitor_0).getNamedElements(); Package _lookupPackage_0 = null; if (_lookupResult_0.size() == 1) { @@ -273,11 +273,11 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uClass_name(final /*@NonNull*/ /*@NonInvalid*/ ClassCS classCS_0) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = classCS_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ example2.classes.Class oclAsType = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_classes_c_c_Class_0)); + final /*@NonNull*/ /*@Thrown*/ example2.classes.Class oclAsType = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Class_0)); final /*@Nullable*/ /*@Thrown*/ String name = classCS_0.getName(); // property assignments oclAsType.setName(name); @@ -307,12 +307,12 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uClass_superClass(final /*@NonNull*/ /*@NonInvalid*/ ClassCS classCS_1) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class, null); final /*@Nullable*/ /*@Thrown*/ EObject ast = classCS_1.getAst(); // variable assignments - final /*@NonNull*/ /*@Thrown*/ example2.classes.Class oclAsType = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_classes_c_c_Class_0)); - final /*@NonNull*/ /*@Thrown*/ example2.classes.Class self_1 = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_classes_c_c_Class_0)); + final /*@NonNull*/ /*@Thrown*/ example2.classes.Class oclAsType = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Class_0)); + final /*@NonNull*/ /*@Thrown*/ example2.classes.Class self_1 = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Class_0)); final /*@Nullable*/ /*@Thrown*/ PathNameCS symbol_1 = classCS_1.getExtends(); final /*@Thrown*/ boolean eq = symbol_1 == null; /*@Nullable*/ /*@Thrown*/ example2.classes.Class symbol_4; @@ -323,7 +323,6 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor if (symbol_1 == null) { throwNull(classCS_1, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::PathNameCS::path\'"); } - @SuppressWarnings("null") final /*@NonNull*/ /*@Thrown*/ List pathSeq_0 = symbol_1.getPath(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_pathSeq_0_3 = idResolver.createOrderedSetOfAll(ORD_CLSSid_PathElementCS, pathSeq_0); final /*@NonNull*/ /*@Thrown*/ IntegerValue size = CollectionSizeOperation.INSTANCE.evaluate(BOXED_pathSeq_0_3); @@ -331,8 +330,8 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor /*@Nullable*/ /*@Thrown*/ example2.classes.Class symbol_3; if (eq_0) { final /*@Nullable*/ /*@Thrown*/ PathElementCS first = (PathElementCS)OrderedCollectionFirstOperation.INSTANCE.evaluate(BOXED_pathSeq_0_3); - LookupEnvironment _lookupEnv = new org.eclipse.qvtd.cs2as.compiler.tests.models.example2.java.LookupEnvironment(evaluator,first); - ClassesLookupVisitor _lookupVisitor = new org.eclipse.qvtd.cs2as.compiler.tests.models.example2.java.ClassesLookupVisitor(_lookupEnv); + LookupEnvironment _lookupEnv = new LookupEnvironment(executor,first); + ClassesLookupVisitor _lookupVisitor = new ClassesLookupVisitor(_lookupEnv); EList _lookupResult = self_1.accept(_lookupVisitor).getNamedElements(); example2.classes.Class _lookupClass = null; if (_lookupResult.size() == 1) { @@ -349,8 +348,8 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor assert UNBOXED_subOrderedSet != null; final /*@Nullable*/ /*@Thrown*/ Package lookupPackage = this.lookupPackage(self_1, UNBOXED_subOrderedSet); final /*@Nullable*/ /*@Thrown*/ PathElementCS last = (PathElementCS)OrderedCollectionLastOperation.INSTANCE.evaluate(BOXED_pathSeq_0_3); - LookupEnvironment _lookupEnv_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example2.java.LookupEnvironment(evaluator,last); - ClassesLookupVisitor _lookupVisitor_0 = new org.eclipse.qvtd.cs2as.compiler.tests.models.example2.java.ClassesLookupVisitor(_lookupEnv_0); + LookupEnvironment _lookupEnv_0 = new LookupEnvironment(executor,last); + ClassesLookupVisitor _lookupVisitor_0 = new ClassesLookupVisitor(_lookupEnv_0); EList _lookupResult_0 = lookupPackage.accept(_lookupVisitor_0).getNamedElements(); example2.classes.Class _lookupClass_0 = null; if (_lookupResult_0.size() == 1) { @@ -388,11 +387,11 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uPackage_name(final /*@NonNull*/ /*@NonInvalid*/ PackageCS packageCS_0) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = packageCS_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ Package oclAsType = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_classes_c_c_Package_0)); + final /*@NonNull*/ /*@Thrown*/ Package oclAsType = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Package_0)); final /*@Nullable*/ /*@Thrown*/ String name = packageCS_0.getName(); // property assignments oclAsType.setName(name); @@ -422,12 +421,11 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uPackage_ownedClasses(final /*@NonNull*/ /*@NonInvalid*/ PackageCS packageCS_1) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = packageCS_1.getAst(); - final /*@NonNull*/ /*@Thrown*/ Package oclAsType = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_classes_c_c_Package_0)); - @SuppressWarnings("null") + final /*@NonNull*/ /*@Thrown*/ Package oclAsType = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Package_0)); final /*@NonNull*/ /*@Thrown*/ List ownedClasses = packageCS_1.getOwnedClasses(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_ownedClasses = idResolver.createOrderedSetOfAll(ORD_CLSSid_ClassCS, ownedClasses); /*@NonNull*/ /*@Thrown*/ SequenceValue.Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Class); @@ -447,7 +445,7 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor throwNull(packageCS_1, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::ElementCS::ast\'"); } final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = _1.getAst(); - final /*@NonNull*/ /*@Thrown*/ example2.classes.Class oclAsType_0 = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_classes_c_c_Class_0)); + final /*@NonNull*/ /*@Thrown*/ example2.classes.Class oclAsType_0 = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_classes_c_c_Class_0)); // accumulator.add(oclAsType_0); } @@ -482,12 +480,11 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uPackage_ownedPackages(final /*@NonNull*/ /*@NonInvalid*/ PackageCS packageCS_2) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = packageCS_2.getAst(); - final /*@NonNull*/ /*@Thrown*/ Package oclAsType = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_classes_c_c_Package_0)); - @SuppressWarnings("null") + final /*@NonNull*/ /*@Thrown*/ Package oclAsType = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Package_0)); final /*@NonNull*/ /*@Thrown*/ List ownedPackages = packageCS_2.getOwnedPackages(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_ownedPackages = idResolver.createOrderedSetOfAll(ORD_CLSSid_PackageCS, ownedPackages); /*@NonNull*/ /*@Thrown*/ SequenceValue.Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Package); @@ -506,7 +503,7 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor throwNull(packageCS_2, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::ElementCS::ast\'"); } final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = _1.getAst(); - final /*@NonNull*/ /*@Thrown*/ Package oclAsType_0 = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_classes_c_c_Package_0)); + final /*@NonNull*/ /*@Thrown*/ Package oclAsType_0 = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_classes_c_c_Package_0)); // accumulator.add(oclAsType_0); } @@ -541,12 +538,11 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean uRoot_ownedPackages(final /*@NonNull*/ /*@NonInvalid*/ RootCS rootCS_0) { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Root_0 = idResolver.getClass(CLSSid_Root, null); // variable assignments final /*@Nullable*/ /*@Thrown*/ EObject ast = rootCS_0.getAst(); - final /*@NonNull*/ /*@Thrown*/ Root oclAsType = ClassUtil.nonNullState((Root)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast, TYP_classes_c_c_Root_0)); - @SuppressWarnings("null") + final /*@NonNull*/ /*@Thrown*/ Root oclAsType = ClassUtil.nonNullState((Root)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Root_0)); final /*@NonNull*/ /*@Thrown*/ List ownedPackages = rootCS_0.getOwnedPackages(); final /*@NonNull*/ /*@Thrown*/ OrderedSetValue BOXED_ownedPackages = idResolver.createOrderedSetOfAll(ORD_CLSSid_PackageCS, ownedPackages); /*@NonNull*/ /*@Thrown*/ SequenceValue.Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Package); @@ -566,7 +562,7 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor throwNull(rootCS_0, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::ElementCS::ast\'"); } final /*@Nullable*/ /*@Thrown*/ EObject ast_0 = _1.getAst(); - final /*@NonNull*/ /*@Thrown*/ Package oclAsType_0 = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, ast_0, TYP_classes_c_c_Package_0)); + final /*@NonNull*/ /*@Thrown*/ Package oclAsType_0 = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_classes_c_c_Package_0)); // accumulator.add(oclAsType_0); } @@ -632,13 +628,13 @@ public class classescs2as_qvtp_qvtias extends CS2ASTransformationExecutor */ protected boolean __root__() { // predicates - final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final /*@NonNull*/ /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final /*@NonNull*/ /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescs_c_c_ClassCS_2 = idResolver.getClass(CLSSid_ClassCS, null); final /*@NonNull*/ /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescs_c_c_PackageCS_3 = idResolver.getClass(CLSSid_PackageCS, null); final /*@NonNull*/ /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescs_c_c_RootCS_1 = idResolver.getClass(CLSSid_RootCS, null); - final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_6 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_ClassCS, TYP_classescs_c_c_ClassCS_2); - final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_2 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PackageCS, TYP_classescs_c_c_PackageCS_3); - final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_1 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_RootCS, TYP_classescs_c_c_RootCS_1); + final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_6 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_ClassCS, TYP_classescs_c_c_ClassCS_2); + final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_2 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_PackageCS, TYP_classescs_c_c_PackageCS_3); + final /*@NonNull*/ /*@NonInvalid*/ SetValue allInstances_1 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_RootCS, TYP_classescs_c_c_RootCS_1); final List UNBOXED_allInstances_6 = allInstances_6.asEcoreObjects(idResolver, ClassCS.class); assert UNBOXED_allInstances_6 != null; final List UNBOXED_allInstances_2 = allInstances_2.asEcoreObjects(idResolver, PackageCS.class); diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/Env4CG.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/Env4CG.java index 5a07a840b..9a56735ca 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/Env4CG.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/Env4CG.java @@ -14,7 +14,7 @@ package example1.env; import org.eclipse.emf.ecore.EObject; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; /** * @@ -30,7 +30,7 @@ public interface Env4CG extends EObject { /** * * - * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new UnsupportedOperationException(); // FIXME Unimplemented http://cs2as/tests/example1/env/1.0!Env4CG!hasFinalResult()'" + * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new <%java.lang.UnsupportedOperationException%>(\"Enviroment::hasFinalResult() has been created for CG purposes. Don\'t call this method\");'" * @generated */ boolean hasFinalResult(); @@ -38,10 +38,10 @@ public interface Env4CG extends EObject { /** * * - * @model kind="operation" type="example1.env.Evaluator" - * annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new UnsupportedOperationException(); // FIXME Unimplemented http://cs2as/tests/example1/env/1.0!Env4CG!getEvaluator()'" + * @model kind="operation" type="example1.env.Executor" + * annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new <%java.lang.UnsupportedOperationException%>(\"Enviroment::getEvaluator() has been created for CG purposes. Don\'t call this method\");'" * @generated */ - Evaluator getEvaluator(); + Executor getExecutor(); } // Env4CG diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/Environment.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/Environment.java index b7a9e3653..6673b6f95 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/Environment.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/Environment.java @@ -80,7 +80,7 @@ public interface Environment extends Env4CG { * * * @model elementsMany="true" - * annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * Environment{\n * namedElements = namedElements->includingAll(elements), parentEnv = parentEnv\n * }\n \052/\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.evaluation.Evaluator%> evaluator = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getEvaluator(this);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.ids.IdResolver%> idResolver = evaluator.getIdResolver();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_namedElements = idResolver.getProperty(<%example1.env.EnvironmentTables%>.PROPid_namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_parentEnv = idResolver.getProperty(<%example1.env.EnvironmentTables%>.PROPid_parentEnv);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Class%> TYP_env_c_c_Environment_0 = idResolver.getClass(<%example1.env.EnvironmentTables%>.CLSSid_Environment, null);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%example1.env.Environment%> symbol_0 = (<%example1.env.Environment%>)TYP_env_c_c_Environment_0.createInstance();\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%java.util.List%><<%example1.target.NamedElement%>> namedElements = this.getNamedElements();\nassert namedElements != null;\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_namedElements = idResolver.createOrderedSetOfAll(<%example1.env.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_elements = idResolver.createOrderedSetOfAll(<%example1.env.EnvironmentTables%>.ORD_TMPLid_, elements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.CollectionValue%> includingAll = <%org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation%>.INSTANCE.evaluate(BOXED_namedElements, BOXED_elements);\nfinal <%java.util.List%>> UNBOXED_includingAll = includingAll.asEcoreObjects(idResolver, <%java.lang.Object%>.class);\nassert UNBOXED_includingAll != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_includingAll);\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%example1.env.Environment%> parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'" + * annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * Environment{\n * namedElements = namedElements->includingAll(elements), parentEnv = parentEnv\n * }\n \052/\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.evaluation.Executor%> executor = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getExecutor(this);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.ids.IdResolver%> idResolver = executor.getIdResolver();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_namedElements = idResolver.getProperty(<%example1.env.EnvironmentTables%>.PROPid_namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_parentEnv = idResolver.getProperty(<%example1.env.EnvironmentTables%>.PROPid_parentEnv);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Class%> TYP_env_c_c_Environment_0 = idResolver.getClass(<%example1.env.EnvironmentTables%>.CLSSid_Environment, null);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%example1.env.Environment%> symbol_0 = (<%example1.env.Environment%>)TYP_env_c_c_Environment_0.createInstance();\n@SuppressWarnings(\"null\")\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%java.util.List%><<%example1.target.NamedElement%>> namedElements = this.getNamedElements();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_namedElements = idResolver.createOrderedSetOfAll(<%example1.env.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_elements = idResolver.createOrderedSetOfAll(<%example1.env.EnvironmentTables%>.ORD_TMPLid_, elements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.CollectionValue%> includingAll = <%org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation%>.INSTANCE.evaluate(BOXED_namedElements, BOXED_elements);\nfinal <%java.util.List%>> UNBOXED_includingAll = includingAll.asEcoreObjects(idResolver, <%java.lang.Object%>.class);\nassert UNBOXED_includingAll != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_includingAll);\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%example1.env.Environment%> parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'" * @generated */ Environment addElements(EList elements); @@ -88,7 +88,7 @@ public interface Environment extends Env4CG { /** * * - * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * Environment{\n * namedElements = namedElements->including(element), parentEnv = parentEnv\n * }\n \052/\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.evaluation.Evaluator%> evaluator = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getEvaluator(this);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.ids.IdResolver%> idResolver = evaluator.getIdResolver();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_namedElements = idResolver.getProperty(<%example1.env.EnvironmentTables%>.PROPid_namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_parentEnv = idResolver.getProperty(<%example1.env.EnvironmentTables%>.PROPid_parentEnv);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Class%> TYP_env_c_c_Environment_0 = idResolver.getClass(<%example1.env.EnvironmentTables%>.CLSSid_Environment, null);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%example1.env.Environment%> symbol_0 = (<%example1.env.Environment%>)TYP_env_c_c_Environment_0.createInstance();\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%java.util.List%><<%example1.target.NamedElement%>> namedElements = this.getNamedElements();\nassert namedElements != null;\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_namedElements = idResolver.createOrderedSetOfAll(<%example1.env.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> including = (<%org.eclipse.ocl.pivot.values.OrderedSetValue%>)<%org.eclipse.ocl.pivot.library.collection.CollectionIncludingOperation%>.INSTANCE.evaluate(BOXED_namedElements, element);\nfinal <%java.util.List%><<%example1.target.NamedElement%>> UNBOXED_including = including.asEcoreObjects(idResolver, <%example1.target.NamedElement%>.class);\nassert UNBOXED_including != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_including);\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%example1.env.Environment%> parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'" + * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * Environment{\n * namedElements = namedElements->including(element), parentEnv = parentEnv\n * }\n \052/\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.evaluation.Executor%> executor = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getExecutor(this);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.ids.IdResolver%> idResolver = executor.getIdResolver();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_namedElements = idResolver.getProperty(<%example1.env.EnvironmentTables%>.PROPid_namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_parentEnv = idResolver.getProperty(<%example1.env.EnvironmentTables%>.PROPid_parentEnv);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Class%> TYP_env_c_c_Environment_0 = idResolver.getClass(<%example1.env.EnvironmentTables%>.CLSSid_Environment, null);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%example1.env.Environment%> symbol_0 = (<%example1.env.Environment%>)TYP_env_c_c_Environment_0.createInstance();\n@SuppressWarnings(\"null\")\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%java.util.List%><<%example1.target.NamedElement%>> namedElements = this.getNamedElements();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_namedElements = idResolver.createOrderedSetOfAll(<%example1.env.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> including = (<%org.eclipse.ocl.pivot.values.OrderedSetValue%>)<%org.eclipse.ocl.pivot.library.collection.CollectionIncludingOperation%>.INSTANCE.evaluate(BOXED_namedElements, element);\nfinal <%java.util.List%><<%example1.target.NamedElement%>> UNBOXED_including = including.asEcoreObjects(idResolver, <%example1.target.NamedElement%>.class);\nassert UNBOXED_including != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_including);\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%example1.env.Environment%> parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'" * @generated */ Environment addElement(NamedElement element); diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/EnvironmentPackage.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/EnvironmentPackage.java index faa55e7e9..6dff1a985 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/EnvironmentPackage.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/EnvironmentPackage.java @@ -96,13 +96,13 @@ public interface EnvironmentPackage extends EPackage { int ENV4_CG___HAS_FINAL_RESULT = 0; /** - * The operation id for the 'Get Evaluator' operation. + * The operation id for the 'Get Executor' operation. * * * @generated * @ordered */ - int ENV4_CG___GET_EVALUATOR = 1; + int ENV4_CG___GET_EXECUTOR = 1; /** * The number of operations of the 'Env4 CG' class. @@ -160,13 +160,13 @@ public interface EnvironmentPackage extends EPackage { int ENVIRONMENT___HAS_FINAL_RESULT = ENV4_CG___HAS_FINAL_RESULT; /** - * The operation id for the 'Get Evaluator' operation. + * The operation id for the 'Get Executor' operation. * * * @generated * @ordered */ - int ENVIRONMENT___GET_EVALUATOR = ENV4_CG___GET_EVALUATOR; + int ENVIRONMENT___GET_EXECUTOR = ENV4_CG___GET_EXECUTOR; /** * The operation id for the 'Add Elements' operation. @@ -197,33 +197,32 @@ public interface EnvironmentPackage extends EPackage { /** - * The meta object id for the '{@link org.eclipse.ocl.pivot.evaluation.Evaluator Evaluator}' class. + * The meta object id for the '{@link org.eclipse.ocl.pivot.evaluation.Executor Executor}' class. * * - * @see org.eclipse.ocl.pivot.evaluation.Evaluator - * @see example1.env.impl.EnvironmentPackageImpl#getEvaluator() + * @see org.eclipse.ocl.pivot.evaluation.Executor + * @see example1.env.impl.EnvironmentPackageImpl#getExecutor() * @generated */ - int EVALUATOR = 2; + int EXECUTOR = 2; /** - * The number of structural features of the 'Evaluator' class. + * The number of structural features of the 'Executor' class. * * * @generated * @ordered */ - int EVALUATOR_FEATURE_COUNT = 0; + int EXECUTOR_FEATURE_COUNT = 0; /** - * The number of operations of the 'Evaluator' class. + * The number of operations of the 'Executor' class. * * * @generated * @ordered */ - int EVALUATOR_OPERATION_COUNT = 0; - + int EXECUTOR_OPERATION_COUNT = 0; /** * Returns the meta object for class '{@link example1.env.Environment Environment}'. @@ -298,25 +297,25 @@ public interface EnvironmentPackage extends EPackage { EOperation getEnv4CG__HasFinalResult(); /** - * Returns the meta object for the '{@link example1.env.Env4CG#getEvaluator() Get Evaluator}' operation. + * Returns the meta object for the '{@link example1.env.Env4CG#getExecutor() Get Executor}' operation. * * - * @return the meta object for the 'Get Evaluator' operation. - * @see example1.env.Env4CG#getEvaluator() + * @return the meta object for the 'Get Executor' operation. + * @see example1.env.Env4CG#getExecutor() * @generated */ - EOperation getEnv4CG__GetEvaluator(); + EOperation getEnv4CG__GetExecutor(); /** - * Returns the meta object for class '{@link org.eclipse.ocl.pivot.evaluation.Evaluator Evaluator}'. + * Returns the meta object for class '{@link org.eclipse.ocl.pivot.evaluation.Executor Executor}'. * * - * @return the meta object for class 'Evaluator'. - * @see org.eclipse.ocl.pivot.evaluation.Evaluator - * @model instanceClass="org.eclipse.ocl.pivot.evaluation.Evaluator" + * @return the meta object for class 'Executor'. + * @see org.eclipse.ocl.pivot.evaluation.Executor + * @model instanceClass="org.eclipse.ocl.pivot.evaluation.Executor" * @generated */ - EClass getEvaluator(); + EClass getExecutor(); /** * Returns the factory that creates the instances of the model. @@ -402,22 +401,22 @@ public interface EnvironmentPackage extends EPackage { EOperation ENV4_CG___HAS_FINAL_RESULT = eINSTANCE.getEnv4CG__HasFinalResult(); /** - * The meta object literal for the 'Get Evaluator' operation. + * The meta object literal for the 'Get Executor' operation. * * * @generated */ - EOperation ENV4_CG___GET_EVALUATOR = eINSTANCE.getEnv4CG__GetEvaluator(); + EOperation ENV4_CG___GET_EXECUTOR = eINSTANCE.getEnv4CG__GetExecutor(); /** - * The meta object literal for the '{@link org.eclipse.ocl.pivot.evaluation.Evaluator Evaluator}' class. + * The meta object literal for the '{@link org.eclipse.ocl.pivot.evaluation.Executor Executor}' class. * * - * @see org.eclipse.ocl.pivot.evaluation.Evaluator - * @see example1.env.impl.EnvironmentPackageImpl#getEvaluator() + * @see org.eclipse.ocl.pivot.evaluation.Executor + * @see example1.env.impl.EnvironmentPackageImpl#getExecutor() * @generated */ - EClass EVALUATOR = eINSTANCE.getEvaluator(); + EClass EXECUTOR = eINSTANCE.getExecutor(); } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/EnvironmentTables.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/EnvironmentTables.java index 5e68a814b..3d44eb3e0 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/EnvironmentTables.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/EnvironmentTables.java @@ -1,13 +1,3 @@ -/******************************************************************************* - * Copyright (c) 2015 Willink Transformations and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * E.D.Willink - initial API and implementation - *******************************************************************************/ /******************************************************************************* ************************************************************************* * This code is 100% auto-generated @@ -79,7 +69,7 @@ public class EnvironmentTables public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_env_s_1_0 = IdManager.getNsURIPackageId("http://cs2as/tests/example1/env/1.0", null, EnvironmentPackage.eINSTANCE); public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_targetMM_s_1_0 = IdManager.getNsURIPackageId("http://cs2as/tests/example1/targetMM/1.0", null, TargetPackage.eINSTANCE); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Environment = EnvironmentTables.PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_env_s_1_0.getClassId("Environment", 0); - public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Evaluator = EnvironmentTables.PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_env_s_1_0.getClassId("Evaluator", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Executor = EnvironmentTables.PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_env_s_1_0.getClassId("Executor", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_NamedElement = EnvironmentTables.PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_targetMM_s_1_0.getClassId("NamedElement", 0); public static final @NonNull /*@NonInvalid*/ CollectionTypeId BAG_CLSSid_Environment = TypeId.BAG.getSpecializedId(EnvironmentTables.CLSSid_Environment); public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_NamedElement = TypeId.ORDERED_SET.getSpecializedId(EnvironmentTables.CLSSid_NamedElement); @@ -117,12 +107,12 @@ public class EnvironmentTables public static final @NonNull EcoreExecutorType _Env4CG = new EcoreExecutorType(EnvironmentPackage.Literals.ENV4_CG, PACKAGE, 0); public static final @NonNull EcoreExecutorType _Environment = new EcoreExecutorType(EnvironmentPackage.Literals.ENVIRONMENT, PACKAGE, 0); - public static final @NonNull EcoreExecutorType _Evaluator = new EcoreExecutorType(EnvironmentPackage.Literals.EVALUATOR, PACKAGE, 0); + public static final @NonNull EcoreExecutorType _Executor = new EcoreExecutorType(EnvironmentPackage.Literals.EXECUTOR, PACKAGE, 0); private static final @NonNull EcoreExecutorType[] types = { _Env4CG, _Environment, - _Evaluator + _Executor }; /* @@ -157,9 +147,9 @@ public class EnvironmentTables private static final @NonNull ExecutorFragment _Environment__OclAny = new ExecutorFragment(Types._Environment, OCLstdlibTables.Types._OclAny); private static final @NonNull ExecutorFragment _Environment__OclElement = new ExecutorFragment(Types._Environment, OCLstdlibTables.Types._OclElement); - private static final @NonNull ExecutorFragment _Evaluator__Evaluator = new ExecutorFragment(Types._Evaluator, EnvironmentTables.Types._Evaluator); - private static final @NonNull ExecutorFragment _Evaluator__OclAny = new ExecutorFragment(Types._Evaluator, OCLstdlibTables.Types._OclAny); - private static final @NonNull ExecutorFragment _Evaluator__OclElement = new ExecutorFragment(Types._Evaluator, OCLstdlibTables.Types._OclElement); + private static final @NonNull ExecutorFragment _Executor__Executor = new ExecutorFragment(Types._Executor, EnvironmentTables.Types._Executor); + private static final @NonNull ExecutorFragment _Executor__OclAny = new ExecutorFragment(Types._Executor, OCLstdlibTables.Types._OclAny); + private static final @NonNull ExecutorFragment _Executor__OclElement = new ExecutorFragment(Types._Executor, OCLstdlibTables.Types._OclElement); static { Init.initEnd(); @@ -203,7 +193,7 @@ public class EnvironmentTables Parameters.init(); } - public static final @NonNull ExecutorOperation _Env4CG__getEvaluator = new ExecutorOperation("getEvaluator", Parameters._, Types._Env4CG, + public static final @NonNull ExecutorOperation _Env4CG__getExecutor = new ExecutorOperation("getExecutor", Parameters._, Types._Env4CG, 0, TemplateParameters.EMPTY_LIST, null); public static final @NonNull ExecutorOperation _Env4CG__hasFinalResult = new ExecutorOperation("hasFinalResult", Parameters._, Types._Env4CG, 1, TemplateParameters.EMPTY_LIST, null); @@ -272,13 +262,13 @@ public class EnvironmentTables }; private static final @NonNull int[] __Environment = { 1,1,1,1 }; - private static final @NonNull ExecutorFragment[] _Evaluator = + private static final @NonNull ExecutorFragment[] _Executor = { - Fragments._Evaluator__OclAny /* 0 */, - Fragments._Evaluator__OclElement /* 1 */, - Fragments._Evaluator__Evaluator /* 2 */ + Fragments._Executor__OclAny /* 0 */, + Fragments._Executor__OclElement /* 1 */, + Fragments._Executor__Executor /* 2 */ }; - private static final @NonNull int[] __Evaluator = { 1,1,1 }; + private static final @NonNull int[] __Executor = { 1,1,1 }; /** * Install the fragment descriptors in the class descriptors. @@ -286,7 +276,7 @@ public class EnvironmentTables static { Types._Env4CG.initFragments(_Env4CG, __Env4CG); Types._Environment.initFragments(_Environment, __Environment); - Types._Evaluator.initFragments(_Evaluator, __Evaluator); + Types._Executor.initFragments(_Executor, __Executor); Init.initEnd(); } @@ -307,7 +297,7 @@ public class EnvironmentTables } private static final @NonNull ExecutorOperation[] _Env4CG__Env4CG = { - EnvironmentTables.Operations._Env4CG__getEvaluator /* getEvaluator() */, + EnvironmentTables.Operations._Env4CG__getExecutor /* getExecutor() */, EnvironmentTables.Operations._Env4CG__hasFinalResult /* hasFinalResult() */ }; private static final @NonNull ExecutorOperation[] _Env4CG__OclAny = { @@ -337,7 +327,7 @@ public class EnvironmentTables EnvironmentTables.Operations._Environment__addElements /* addElements(NE)(OrderedSet(NE)) */ }; private static final @NonNull ExecutorOperation[] _Environment__Env4CG = { - EnvironmentTables.Operations._Env4CG__getEvaluator /* getEvaluator() */, + EnvironmentTables.Operations._Env4CG__getExecutor /* getExecutor() */, EnvironmentTables.Operations._Env4CG__hasFinalResult /* hasFinalResult() */ }; private static final @NonNull ExecutorOperation[] _Environment__OclAny = { @@ -362,8 +352,8 @@ public class EnvironmentTables OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */ }; - private static final @NonNull ExecutorOperation[] _Evaluator__Evaluator = {}; - private static final @NonNull ExecutorOperation[] _Evaluator__OclAny = { + private static final @NonNull ExecutorOperation[] _Executor__Executor = {}; + private static final @NonNull ExecutorOperation[] _Executor__OclAny = { OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */, OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */, OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */, @@ -379,7 +369,7 @@ public class EnvironmentTables OCLstdlibTables.Operations._OclAny__oclType /* oclType() */, OCLstdlibTables.Operations._OclAny__toString /* toString() */ }; - private static final @NonNull ExecutorOperation[] _Evaluator__OclElement = { + private static final @NonNull ExecutorOperation[] _Executor__OclElement = { OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */, OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */, OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */ @@ -398,9 +388,9 @@ public class EnvironmentTables Fragments._Environment__OclAny.initOperations(_Environment__OclAny); Fragments._Environment__OclElement.initOperations(_Environment__OclElement); - Fragments._Evaluator__Evaluator.initOperations(_Evaluator__Evaluator); - Fragments._Evaluator__OclAny.initOperations(_Evaluator__OclAny); - Fragments._Evaluator__OclElement.initOperations(_Evaluator__OclElement); + Fragments._Executor__Executor.initOperations(_Executor__Executor); + Fragments._Executor__OclAny.initOperations(_Executor__OclAny); + Fragments._Executor__OclElement.initOperations(_Executor__OclElement); Init.initEnd(); } @@ -428,7 +418,7 @@ public class EnvironmentTables EnvironmentTables.Properties._Environment__Environment__parentEnv }; - private static final @NonNull ExecutorProperty[] _Evaluator = {}; + private static final @NonNull ExecutorProperty[] _Executor = {}; /** * Install the property descriptors in the fragment descriptors. @@ -436,7 +426,7 @@ public class EnvironmentTables static { Fragments._Env4CG__Env4CG.initProperties(_Env4CG); Fragments._Environment__Environment.initProperties(_Environment); - Fragments._Evaluator__Evaluator.initProperties(_Evaluator); + Fragments._Executor__Executor.initProperties(_Executor); Init.initEnd(); } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/impl/EnvironmentImpl.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/impl/EnvironmentImpl.java index 73169567b..3bb18aa2f 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/impl/EnvironmentImpl.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/impl/EnvironmentImpl.java @@ -26,7 +26,7 @@ import org.eclipse.emf.ecore.util.EObjectResolvingEList; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.pivot.Property; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.IdResolver; import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal; import org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation; @@ -155,14 +155,14 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env * namedElements = namedElements->includingAll(elements), parentEnv = parentEnv * } */ - final @NonNull /*@NonInvalid*/ Evaluator evaluator = PivotUtilInternal.getEvaluator(this); - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ Executor executor = PivotUtilInternal.getExecutor(this); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@NonInvalid*/ Property CTORid_namedElements = idResolver.getProperty(EnvironmentTables.PROPid_namedElements); final @NonNull /*@NonInvalid*/ Property CTORid_parentEnv = idResolver.getProperty(EnvironmentTables.PROPid_parentEnv); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_env_c_c_Environment_0 = idResolver.getClass(EnvironmentTables.CLSSid_Environment, null); final @NonNull /*@Thrown*/ Environment symbol_0 = (Environment)TYP_env_c_c_Environment_0.createInstance(); - final @Nullable /*@Thrown*/ List namedElements = this.getNamedElements(); - assert namedElements != null; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List namedElements = this.getNamedElements(); final @NonNull /*@Thrown*/ OrderedSetValue BOXED_namedElements = idResolver.createOrderedSetOfAll(EnvironmentTables.ORD_CLSSid_NamedElement, namedElements); final @NonNull /*@NonInvalid*/ OrderedSetValue BOXED_elements = idResolver.createOrderedSetOfAll(EnvironmentTables.ORD_TMPLid_, elements); final @NonNull /*@Thrown*/ CollectionValue includingAll = CollectionIncludingAllOperation.INSTANCE.evaluate(BOXED_namedElements, BOXED_elements); @@ -186,14 +186,14 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env * namedElements = namedElements->including(element), parentEnv = parentEnv * } */ - final @NonNull /*@NonInvalid*/ Evaluator evaluator = PivotUtilInternal.getEvaluator(this); - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ Executor executor = PivotUtilInternal.getExecutor(this); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@NonInvalid*/ Property CTORid_namedElements = idResolver.getProperty(EnvironmentTables.PROPid_namedElements); final @NonNull /*@NonInvalid*/ Property CTORid_parentEnv = idResolver.getProperty(EnvironmentTables.PROPid_parentEnv); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_env_c_c_Environment_0 = idResolver.getClass(EnvironmentTables.CLSSid_Environment, null); final @NonNull /*@Thrown*/ Environment symbol_0 = (Environment)TYP_env_c_c_Environment_0.createInstance(); - final @Nullable /*@Thrown*/ List namedElements = this.getNamedElements(); - assert namedElements != null; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List namedElements = this.getNamedElements(); final @NonNull /*@Thrown*/ OrderedSetValue BOXED_namedElements = idResolver.createOrderedSetOfAll(EnvironmentTables.ORD_CLSSid_NamedElement, namedElements); final @NonNull /*@Thrown*/ OrderedSetValue including = (OrderedSetValue)CollectionIncludingOperation.INSTANCE.evaluate(BOXED_namedElements, element); final List UNBOXED_including = including.asEcoreObjects(idResolver, NamedElement.class); @@ -210,7 +210,7 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env * @generated */ public boolean hasFinalResult() { - throw new UnsupportedOperationException(); // FIXME Unimplemented http://cs2as/tests/example1/env/1.0!Env4CG!hasFinalResult() + throw new UnsupportedOperationException("Enviroment::hasFinalResult() has been created for CG purposes. Don't call this method"); } /** @@ -218,8 +218,8 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env * * @generated */ - public Evaluator getEvaluator() { - throw new UnsupportedOperationException(); // FIXME Unimplemented http://cs2as/tests/example1/env/1.0!Env4CG!getEvaluator() + public Executor getExecutor() { + throw new UnsupportedOperationException("Enviroment::getEvaluator() has been created for CG purposes. Don't call this method"); } /** @@ -308,8 +308,8 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env return addElement((NamedElement)arguments.get(0)); case EnvironmentPackage.ENVIRONMENT___HAS_FINAL_RESULT: return hasFinalResult(); - case EnvironmentPackage.ENVIRONMENT___GET_EVALUATOR: - return getEvaluator(); + case EnvironmentPackage.ENVIRONMENT___GET_EXECUTOR: + return getExecutor(); } return super.eInvoke(operationID, arguments); } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/impl/EnvironmentPackageImpl.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/impl/EnvironmentPackageImpl.java index 5d20c4be8..42ffcb28e 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/impl/EnvironmentPackageImpl.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/impl/EnvironmentPackageImpl.java @@ -21,7 +21,7 @@ import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.ETypeParameter; import org.eclipse.emf.ecore.impl.EPackageImpl; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import example1.env.Environment; import example1.env.EnvironmentFactory; import example1.env.EnvironmentPackage; @@ -52,7 +52,7 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP * * @generated */ - private EClass evaluatorEClass = null; + private EClass executorEClass = null; /** * Creates an instance of the model Package, registered with @@ -186,7 +186,7 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP * * @generated */ - public EOperation getEnv4CG__GetEvaluator() { + public EOperation getEnv4CG__GetExecutor() { return env4CGEClass.getEOperations().get(1); } @@ -195,8 +195,8 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP * * @generated */ - public EClass getEvaluator() { - return evaluatorEClass; + public EClass getExecutor() { + return executorEClass; } /** @@ -235,9 +235,9 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP env4CGEClass = createEClass(ENV4_CG); createEOperation(env4CGEClass, ENV4_CG___HAS_FINAL_RESULT); - createEOperation(env4CGEClass, ENV4_CG___GET_EVALUATOR); + createEOperation(env4CGEClass, ENV4_CG___GET_EXECUTOR); - evaluatorEClass = createEClass(EVALUATOR); + executorEClass = createEClass(EXECUTOR); } /** @@ -292,9 +292,9 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP initEOperation(getEnv4CG__HasFinalResult(), ecorePackage.getEBoolean(), "hasFinalResult", 0, 1, IS_UNIQUE, IS_ORDERED); - initEOperation(getEnv4CG__GetEvaluator(), this.getEvaluator(), "getEvaluator", 0, 1, IS_UNIQUE, IS_ORDERED); + initEOperation(getEnv4CG__GetExecutor(), this.getExecutor(), "getExecutor", 0, 1, IS_UNIQUE, IS_ORDERED); - initEClass(evaluatorEClass, Evaluator.class, "Evaluator", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); + initEClass(executorEClass, Executor.class, "Executor", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); // Create resource createResource(eNS_URI); diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/util/EnvironmentAdapterFactory.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/util/EnvironmentAdapterFactory.java index b25a52cf8..c656d12ea 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/util/EnvironmentAdapterFactory.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/util/EnvironmentAdapterFactory.java @@ -18,7 +18,7 @@ import org.eclipse.emf.common.notify.Notifier; import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; import org.eclipse.emf.ecore.EObject; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import example1.env.Environment; import example1.env.EnvironmentPackage; @@ -87,8 +87,8 @@ public class EnvironmentAdapterFactory extends AdapterFactoryImpl { return createEnv4CGAdapter(); } @Override - public Adapter caseEvaluator(Evaluator object) { - return createEvaluatorAdapter(); + public Adapter caseExecutor(Executor object) { + return createExecutorAdapter(); } @Override public Adapter defaultCase(EObject object) { @@ -139,16 +139,16 @@ public class EnvironmentAdapterFactory extends AdapterFactoryImpl { } /** - * Creates a new adapter for an object of class '{@link org.eclipse.ocl.pivot.evaluation.Evaluator Evaluator}'. + * Creates a new adapter for an object of class '{@link org.eclipse.ocl.pivot.evaluation.Executor Executor}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.ocl.pivot.evaluation.Evaluator + * @see org.eclipse.ocl.pivot.evaluation.Executor * @generated */ - public Adapter createEvaluatorAdapter() { + public Adapter createExecutorAdapter() { return null; } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/util/EnvironmentSwitch.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/util/EnvironmentSwitch.java index 413731151..bdfc9a3fe 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/util/EnvironmentSwitch.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/env/util/EnvironmentSwitch.java @@ -17,7 +17,7 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.Switch; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import example1.env.Environment; import example1.env.EnvironmentPackage; @@ -91,9 +91,9 @@ public class EnvironmentSwitch extends Switch { if (result == null) result = defaultCase(theEObject); return result; } - case EnvironmentPackage.EVALUATOR: { - Evaluator evaluator = (Evaluator)theEObject; - T result = caseEvaluator(evaluator); + case EnvironmentPackage.EXECUTOR: { + Executor executor = (Executor)theEObject; + T result = caseExecutor(executor); if (result == null) result = defaultCase(theEObject); return result; } @@ -132,17 +132,17 @@ public class EnvironmentSwitch extends Switch { } /** - * Returns the result of interpreting the object as an instance of 'Evaluator'. + * Returns the result of interpreting the object as an instance of 'Executor'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Evaluator'. + * @return the result of interpreting the object as an instance of 'Executor'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseEvaluator(Evaluator object) { + public T caseExecutor(Executor object) { return null; } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/TargetTables.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/TargetTables.java index cdee9902c..9f5142f41 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/TargetTables.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/TargetTables.java @@ -1,13 +1,3 @@ -/******************************************************************************* - * Copyright (c) 2015 Willink Transformations and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * E.D.Willink - initial API and implementation - *******************************************************************************/ /******************************************************************************* ************************************************************************* * This code is 100% auto-generated diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/util/AbstractMergedVisitor.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/util/AbstractMergedVisitor.java new file mode 100644 index 000000000..56bdd17bb --- /dev/null +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/util/AbstractMergedVisitor.java @@ -0,0 +1,77 @@ +/******************************************************************************* + * + * + * + * + * This code is auto-generated + * from: org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/TargetMM1.genmodel + * + * Only the copyright statement is editable. + *******************************************************************************/ +package example1.target.util; + +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; + +/** + * An AbstractMergedVisitor merges all visits direct to visiting(). + * This can be used by a decorating visitor to execute shared code before redispatching to a decorated visitor. + */ +public abstract class AbstractMergedVisitor + extends AbstractVisitor + implements Visitor +{ + protected AbstractMergedVisitor(@NonNull C context) { + super(context); + } + + @Override + public @Nullable R visitA(@NonNull example1.target.A object) { + return visiting(object); + } + + @Override + public @Nullable R visitA1(@NonNull example1.target.A1 object) { + return visiting(object); + } + + @Override + public @Nullable R visitA2(@NonNull example1.target.A2 object) { + return visiting(object); + } + + @Override + public @Nullable R visitA3(@NonNull example1.target.A3 object) { + return visiting(object); + } + + @Override + public @Nullable R visitB(@NonNull example1.target.B object) { + return visiting(object); + } + + @Override + public @Nullable R visitC(@NonNull example1.target.C object) { + return visiting(object); + } + + @Override + public @Nullable R visitD(@NonNull example1.target.D object) { + return visiting(object); + } + + @Override + public @Nullable R visitNamedElement(@NonNull example1.target.NamedElement object) { + return visiting(object); + } + + @Override + public @Nullable R visitNamespace(@NonNull example1.target.Namespace object) { + return visiting(object); + } + + @Override + public @Nullable R visitTRoot(@NonNull example1.target.TRoot object) { + return visiting(object); + } +} diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/util/AbstractTargetLookupVisitor.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/util/AbstractTargetLookupVisitor.java index 1ed7b3953..23e801e2e 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/util/AbstractTargetLookupVisitor.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/util/AbstractTargetLookupVisitor.java @@ -27,7 +27,7 @@ import org.eclipse.emf.common.util.EList; 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; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.IdManager; @@ -45,7 +45,6 @@ public class AbstractTargetLookupVisitor extends AbstractExtendingVisitor { public static final @NonNull /*@NonInvalid*/ RootPackageId PACKid_$metamodel$ = IdManager.getRootPackageId("$metamodel$"); - public static final @NonNull /*@NonInvalid*/ RootPackageId PACKid_example1_env = IdManager.getRootPackageId("example1.env"); public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_env_s_1_0 = IdManager.getNsURIPackageId("http://cs2as/tests/example1/env/1.0", null, EnvironmentPackage.eINSTANCE); public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_targetMM_s_1_0 = IdManager.getNsURIPackageId("http://cs2as/tests/example1/targetMM/1.0", null, TargetPackage.eINSTANCE); public static final @NonNull /*@NonInvalid*/ RootPackageId PACKid_java_c_s_s_org_eclipse_qvtd_cs2as_compiler_tests_lookup = IdManager.getRootPackageId("java://org.eclipse.qvtd.cs2as.compiler.tests.lookup"); @@ -58,9 +57,8 @@ public class AbstractTargetLookupVisitor public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_B = PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_targetMM_s_1_0.getClassId("B", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_C = PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_targetMM_s_1_0.getClassId("C", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_D = PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_targetMM_s_1_0.getClassId("D", 0); - public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Environment = PACKid_example1_env.getClassId("Environment", 0); - public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Environment_0 = PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_env_s_1_0.getClassId("Environment", 0); - public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Evaluator = PACKid_org_eclipse_ocl_pivot_evaluation.getClassId("Evaluator", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Environment = PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_env_s_1_0.getClassId("Environment", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Executor = PACKid_org_eclipse_ocl_pivot_evaluation.getClassId("Executor", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_IdResolver = PACKid_org_eclipse_ocl_pivot_ids.getClassId("IdResolver", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_OclElement = PACKid_$metamodel$.getClassId("OclElement", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_TRoot = PACKid_http_c_s_s_cs2as_s_tests_s_example1_s_targetMM_s_1_0.getClassId("TRoot", 0); @@ -69,15 +67,13 @@ public class AbstractTargetLookupVisitor public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_C = TypeId.ORDERED_SET.getSpecializedId(CLSSid_C); protected @Nullable /*@Thrown*/ Object child; - protected final @NonNull /*@Thrown*/ Evaluator evaluator; + protected final @NonNull /*@Thrown*/ Executor executor; protected final @NonNull /*@Thrown*/ IdResolver idResolver; - protected final @NonNull /*@Thrown*/ Environment visitorEnv; public AbstractTargetLookupVisitor(@NonNull Environment context) { super(context); - this.evaluator = context.getEvaluator(); - this.idResolver = evaluator.getIdResolver(); - this.visitorEnv = context; + this.executor = context.getExecutor(); + this.idResolver = executor.getIdResolver(); } /** @@ -115,7 +111,7 @@ public class AbstractTargetLookupVisitor * in * if child = null * then - * let inner : env::Environment[?] = visitorEnv.addElements(ownedBs) + * let inner : env::Environment[?] = context.addElements(ownedBs) * in * if inner.hasFinalResult() * then inner @@ -123,7 +119,7 @@ public class AbstractTargetLookupVisitor * endif * else * let - * inner : env::Environment[?] = visitorEnv.addElements( + * inner : env::Environment[?] = context.addElements( * ownedBs->select(x | * ownedBs->indexOf(x) < * ownedBs->indexOf(child))) @@ -136,12 +132,12 @@ public class AbstractTargetLookupVisitor */ @Override public @Nullable /*@NonInvalid*/ Environment visitA1(final @NonNull /*@NonInvalid*/ A1 element) { - final @Nullable /*@Thrown*/ List ownedBs = element.getOwnsB(); - assert ownedBs != null; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List ownedBs = element.getOwnsB(); final /*@Thrown*/ boolean eq = child == null; @Nullable /*@Thrown*/ Environment symbol_2; if (eq) { - final @NonNull /*@Thrown*/ Environment inner = visitorEnv.addElements((EList)ownedBs); + final @NonNull /*@Thrown*/ Environment inner = context.addElements((EList)ownedBs); final /*@Thrown*/ boolean hasFinalResult = inner.hasFinalResult(); @Nullable /*@Thrown*/ Environment symbol_0; if (hasFinalResult) { @@ -169,7 +165,7 @@ public class AbstractTargetLookupVisitor */ final @NonNull /*@Thrown*/ IntegerValue indexOf = OrderedCollectionIndexOfOperation.INSTANCE.evaluate(BOXED_ownedBs, x); final @NonNull /*@Thrown*/ IntegerValue indexOf_0 = OrderedCollectionIndexOfOperation.INSTANCE.evaluate(BOXED_ownedBs, child); - final /*@Thrown*/ boolean lt = OclComparableLessThanOperation.INSTANCE.evaluate(evaluator, indexOf, indexOf_0).booleanValue(); + final /*@Thrown*/ boolean lt = OclComparableLessThanOperation.INSTANCE.evaluate(executor, indexOf, indexOf_0).booleanValue(); // if (lt == ValueUtil.TRUE_VALUE) { accumulator.add(x); @@ -177,7 +173,7 @@ public class AbstractTargetLookupVisitor } final List UNBOXED_select = select.asEcoreObjects(idResolver, B.class); assert UNBOXED_select != null; - final @NonNull /*@Thrown*/ Environment inner_0 = visitorEnv.addElements((EList)UNBOXED_select); + final @NonNull /*@Thrown*/ Environment inner_0 = context.addElements((EList)UNBOXED_select); final /*@Thrown*/ boolean hasFinalResult_0 = inner_0.hasFinalResult(); @Nullable /*@Thrown*/ Environment symbol_1; if (hasFinalResult_0) { @@ -200,7 +196,7 @@ public class AbstractTargetLookupVisitor * in * if child = null * then - * let inner : env::Environment[?] = visitorEnv.addElements(ownedCs) + * let inner : env::Environment[?] = context.addElements(ownedCs) * in * if inner.hasFinalResult() * then inner @@ -208,7 +204,7 @@ public class AbstractTargetLookupVisitor * endif * else * let - * inner : env::Environment[?] = visitorEnv.addElements( + * inner : env::Environment[?] = context.addElements( * ownedCs->select(x | * ownedCs->indexOf(x) < * ownedCs->indexOf(child))) @@ -221,12 +217,12 @@ public class AbstractTargetLookupVisitor */ @Override public @Nullable /*@NonInvalid*/ Environment visitA2(final @NonNull /*@NonInvalid*/ A2 element_0) { - final @Nullable /*@Thrown*/ List ownedCs = element_0.getOwnsC(); - assert ownedCs != null; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List ownedCs = element_0.getOwnsC(); final /*@Thrown*/ boolean eq = child == null; @Nullable /*@Thrown*/ Environment symbol_2; if (eq) { - final @NonNull /*@Thrown*/ Environment inner = visitorEnv.addElements((EList)ownedCs); + final @NonNull /*@Thrown*/ Environment inner = context.addElements((EList)ownedCs); final /*@Thrown*/ boolean hasFinalResult = inner.hasFinalResult(); @Nullable /*@Thrown*/ Environment symbol_0; if (hasFinalResult) { @@ -254,7 +250,7 @@ public class AbstractTargetLookupVisitor */ final @NonNull /*@Thrown*/ IntegerValue indexOf = OrderedCollectionIndexOfOperation.INSTANCE.evaluate(BOXED_ownedCs, x); final @NonNull /*@Thrown*/ IntegerValue indexOf_0 = OrderedCollectionIndexOfOperation.INSTANCE.evaluate(BOXED_ownedCs, child); - final /*@Thrown*/ boolean lt = OclComparableLessThanOperation.INSTANCE.evaluate(evaluator, indexOf, indexOf_0).booleanValue(); + final /*@Thrown*/ boolean lt = OclComparableLessThanOperation.INSTANCE.evaluate(executor, indexOf, indexOf_0).booleanValue(); // if (lt == ValueUtil.TRUE_VALUE) { accumulator.add(x); @@ -262,7 +258,7 @@ public class AbstractTargetLookupVisitor } final List UNBOXED_select = select.asEcoreObjects(idResolver, C.class); assert UNBOXED_select != null; - final @NonNull /*@Thrown*/ Environment inner_0 = visitorEnv.addElements((EList)UNBOXED_select); + final @NonNull /*@Thrown*/ Environment inner_0 = context.addElements((EList)UNBOXED_select); final /*@Thrown*/ boolean hasFinalResult_0 = inner_0.hasFinalResult(); @Nullable /*@Thrown*/ Environment symbol_1; if (hasFinalResult_0) { @@ -314,7 +310,7 @@ public class AbstractTargetLookupVisitor * visitTRoot(element : target::TRoot[1]) : env::Environment[?] * * - * let inner : env::Environment[?] = visitorEnv.addElements(ownedA) + * let inner : env::Environment[?] = context.addElements(ownedA) * in * if inner.hasFinalResult() * then inner @@ -323,9 +319,9 @@ public class AbstractTargetLookupVisitor */ @Override public @Nullable /*@NonInvalid*/ Environment visitTRoot(final @NonNull /*@NonInvalid*/ TRoot element_4) { - final @Nullable /*@Thrown*/ List ownedA = element_4.getOwnedA(); - assert ownedA != null; - final @NonNull /*@Thrown*/ Environment inner = visitorEnv.addElements((EList)ownedA); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List ownedA = element_4.getOwnedA(); + final @NonNull /*@Thrown*/ Environment inner = context.addElements((EList)ownedA); final /*@Thrown*/ boolean hasFinalResult = inner.hasFinalResult(); @Nullable /*@Thrown*/ Environment symbol_0; if (hasFinalResult) { diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/ClassesTables.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/ClassesTables.java index f0ca88944..f9a7307fb 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/ClassesTables.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/ClassesTables.java @@ -1,13 +1,3 @@ -/******************************************************************************* - * Copyright (c) 2015 Willink Transformations and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * E.D.Willink - initial API and implementation - *******************************************************************************/ /******************************************************************************* ************************************************************************* * This code is 100% auto-generated diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/util/AbstractClassesLookupVisitor.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/util/AbstractClassesLookupVisitor.java index db5f9f812..e75272d3b 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/util/AbstractClassesLookupVisitor.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/util/AbstractClassesLookupVisitor.java @@ -22,7 +22,7 @@ import org.eclipse.emf.common.util.EList; 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; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.IdManager; @@ -35,7 +35,6 @@ public class AbstractClassesLookupVisitor extends AbstractExtendingVisitor { public static final @NonNull /*@NonInvalid*/ RootPackageId PACKid_$metamodel$ = IdManager.getRootPackageId("$metamodel$"); - public static final @NonNull /*@NonInvalid*/ RootPackageId PACKid_example2_env = IdManager.getRootPackageId("example2.env"); public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classes_s_1_0 = IdManager.getNsURIPackageId("http://cs2as/tests/example2/classes/1.0", null, ClassesPackage.eINSTANCE); public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_env_s_1_0 = IdManager.getNsURIPackageId("http://cs2as/tests/example2/env/1.0", null, EnvironmentPackage.eINSTANCE); public static final @NonNull /*@NonInvalid*/ RootPackageId PACKid_java_c_s_s_org_eclipse_qvtd_cs2as_compiler_tests_lookup = IdManager.getRootPackageId("java://org.eclipse.qvtd.cs2as.compiler.tests.lookup"); @@ -43,9 +42,8 @@ public class AbstractClassesLookupVisitor public static final @NonNull /*@NonInvalid*/ RootPackageId PACKid_org_eclipse_ocl_pivot_ids = IdManager.getRootPackageId("org.eclipse.ocl.pivot.ids"); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_AbstractClassesLookupVisitor = PACKid_java_c_s_s_org_eclipse_qvtd_cs2as_compiler_tests_lookup.getClassId("AbstractClassesLookupVisitor", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Class = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classes_s_1_0.getClassId("Class", 0); - public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Environment = PACKid_example2_env.getClassId("Environment", 0); - public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Environment_0 = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_env_s_1_0.getClassId("Environment", 0); - public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Evaluator = PACKid_org_eclipse_ocl_pivot_evaluation.getClassId("Evaluator", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Environment = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_env_s_1_0.getClassId("Environment", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Executor = PACKid_org_eclipse_ocl_pivot_evaluation.getClassId("Executor", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_IdResolver = PACKid_org_eclipse_ocl_pivot_ids.getClassId("IdResolver", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_OclElement = PACKid_$metamodel$.getClassId("OclElement", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Package = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classes_s_1_0.getClassId("Package", 0); @@ -54,15 +52,13 @@ public class AbstractClassesLookupVisitor public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_Package = TypeId.ORDERED_SET.getSpecializedId(CLSSid_Package); protected @Nullable /*@Thrown*/ Object child; - protected final @NonNull /*@Thrown*/ Evaluator evaluator; + protected final @NonNull /*@Thrown*/ Executor executor; protected final @NonNull /*@Thrown*/ IdResolver idResolver; - protected final @NonNull /*@Thrown*/ Environment visitorEnv; public AbstractClassesLookupVisitor(@NonNull Environment context) { super(context); - this.evaluator = context.getEvaluator(); - this.idResolver = evaluator.getIdResolver(); - this.visitorEnv = context; + this.executor = context.getExecutor(); + this.idResolver = executor.getIdResolver(); } /** @@ -108,7 +104,7 @@ public class AbstractClassesLookupVisitor * * * let - * inner : env::Environment[?] = visitorEnv.addElements(element.ownedClasses) + * inner : env::Environment[?] = context.addElements(element.ownedClasses) * .addElements(element.ownedPackages) * in * if inner.hasFinalResult() @@ -118,11 +114,11 @@ public class AbstractClassesLookupVisitor */ @Override public @Nullable /*@NonInvalid*/ Environment visitPackage(final @NonNull /*@NonInvalid*/ Package element_0) { - final @Nullable /*@Thrown*/ List ownedClasses = element_0.getOwnedClasses(); - assert ownedClasses != null; - final @NonNull /*@Thrown*/ Environment addElements = visitorEnv.addElements((EList)ownedClasses); - final @Nullable /*@Thrown*/ List ownedPackages = element_0.getOwnedPackages(); - assert ownedPackages != null; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List ownedClasses = element_0.getOwnedClasses(); + final @NonNull /*@Thrown*/ Environment addElements = context.addElements((EList)ownedClasses); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List ownedPackages = element_0.getOwnedPackages(); final @NonNull /*@Thrown*/ Environment inner = addElements.addElements((EList)ownedPackages); final /*@Thrown*/ boolean hasFinalResult = inner.hasFinalResult(); @Nullable /*@Thrown*/ Environment symbol_0; @@ -141,7 +137,7 @@ public class AbstractClassesLookupVisitor * * * let - * inner : env::Environment[?] = visitorEnv.addElements(element.ownedPackages) + * inner : env::Environment[?] = context.addElements(element.ownedPackages) * in * if inner.hasFinalResult() * then inner @@ -150,9 +146,9 @@ public class AbstractClassesLookupVisitor */ @Override public @Nullable /*@NonInvalid*/ Environment visitRoot(final @NonNull /*@NonInvalid*/ Root element_1) { - final @Nullable /*@Thrown*/ List ownedPackages = element_1.getOwnedPackages(); - assert ownedPackages != null; - final @NonNull /*@Thrown*/ Environment inner = visitorEnv.addElements((EList)ownedPackages); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List ownedPackages = element_1.getOwnedPackages(); + final @NonNull /*@Thrown*/ Environment inner = context.addElements((EList)ownedPackages); final /*@Thrown*/ boolean hasFinalResult = inner.hasFinalResult(); @Nullable /*@Thrown*/ Environment symbol_0; if (hasFinalResult) { diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/util/AbstractMergedVisitor.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/util/AbstractMergedVisitor.java new file mode 100644 index 000000000..80664a410 --- /dev/null +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/classes/util/AbstractMergedVisitor.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * + * + * + * + * This code is auto-generated + * from: org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example2/Classes.genmodel + * + * Only the copyright statement is editable. + *******************************************************************************/ +package example2.classes.util; + +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; + +/** + * An AbstractMergedVisitor merges all visits direct to visiting(). + * This can be used by a decorating visitor to execute shared code before redispatching to a decorated visitor. + */ +public abstract class AbstractMergedVisitor + extends AbstractVisitor + implements Visitor +{ + protected AbstractMergedVisitor(@NonNull C context) { + super(context); + } + + @Override + public @Nullable R visitClass(@NonNull example2.classes.Class object) { + return visiting(object); + } + + @Override + public @Nullable R visitElement(@NonNull example2.classes.Element object) { + return visiting(object); + } + + @Override + public @Nullable R visitNamedElement(@NonNull example2.classes.NamedElement object) { + return visiting(object); + } + + @Override + public @Nullable R visitNamespace(@NonNull example2.classes.Namespace object) { + return visiting(object); + } + + @Override + public @Nullable R visitPackage(@NonNull example2.classes.Package object) { + return visiting(object); + } + + @Override + public @Nullable R visitRoot(@NonNull example2.classes.Root object) { + return visiting(object); + } +} diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/Env4CG.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/Env4CG.java index f3d69cdc3..c3c072288 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/Env4CG.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/Env4CG.java @@ -13,7 +13,7 @@ package example2.env; import org.eclipse.emf.ecore.EObject; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; /** * @@ -29,7 +29,7 @@ public interface Env4CG extends EObject { /** * * - * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new UnsupportedOperationException(); // FIXME Unimplemented http://cs2as/tests/example2/env/1.0!Env4CG!hasFinalResult()'" + * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new <%java.lang.UnsupportedOperationException%>(\"Enviroment::hasFinalResult() has been created for CG purposes. Don\'t call this method\");'" * @generated */ boolean hasFinalResult(); @@ -37,10 +37,10 @@ public interface Env4CG extends EObject { /** * * - * @model kind="operation" type="example2.env.Evaluator" - * annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new UnsupportedOperationException(); // FIXME Unimplemented http://cs2as/tests/example2/env/1.0!Env4CG!getEvaluator()'" + * @model kind="operation" type="example2.env.Executor" + * annotation="http://www.eclipse.org/emf/2002/GenModel body='throw new <%java.lang.UnsupportedOperationException%>(\"Enviroment::getEvaluator() has been created for CG purposes. Don\'t call this method\");'" * @generated */ - Evaluator getEvaluator(); + Executor getExecutor(); } // Env4CG diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/Environment.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/Environment.java index 08f8f5983..f51d2bc9d 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/Environment.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/Environment.java @@ -80,7 +80,7 @@ public interface Environment extends Env4CG { * * * @model elementsMany="true" - * annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * Environment{\n * namedElements = namedElements->includingAll(elements), parentEnv = parentEnv\n * }\n \052/\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.evaluation.Evaluator%> evaluator = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getEvaluator(this);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.ids.IdResolver%> idResolver = evaluator.getIdResolver();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_namedElements = idResolver.getProperty(<%example2.env.EnvironmentTables%>.PROPid_namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_parentEnv = idResolver.getProperty(<%example2.env.EnvironmentTables%>.PROPid_parentEnv);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Class%> TYP_env_c_c_Environment_0 = idResolver.getClass(<%example2.env.EnvironmentTables%>.CLSSid_Environment, null);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%example2.env.Environment%> symbol_0 = (<%example2.env.Environment%>)TYP_env_c_c_Environment_0.createInstance();\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%java.util.List%><<%example2.classes.NamedElement%>> namedElements = this.getNamedElements();\nassert namedElements != null;\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_namedElements = idResolver.createOrderedSetOfAll(<%example2.env.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_elements = idResolver.createOrderedSetOfAll(<%example2.env.EnvironmentTables%>.ORD_TMPLid_, elements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.CollectionValue%> includingAll = <%org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation%>.INSTANCE.evaluate(BOXED_namedElements, BOXED_elements);\nfinal <%java.util.List%>> UNBOXED_includingAll = includingAll.asEcoreObjects(idResolver, <%java.lang.Object%>.class);\nassert UNBOXED_includingAll != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_includingAll);\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%example2.env.Environment%> parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'" + * annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * Environment{\n * namedElements = namedElements->includingAll(elements), parentEnv = parentEnv\n * }\n \052/\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.evaluation.Executor%> executor = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getExecutor(this);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.ids.IdResolver%> idResolver = executor.getIdResolver();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_namedElements = idResolver.getProperty(<%example2.env.EnvironmentTables%>.PROPid_namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_parentEnv = idResolver.getProperty(<%example2.env.EnvironmentTables%>.PROPid_parentEnv);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Class%> TYP_env_c_c_Environment_0 = idResolver.getClass(<%example2.env.EnvironmentTables%>.CLSSid_Environment, null);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%example2.env.Environment%> symbol_0 = (<%example2.env.Environment%>)TYP_env_c_c_Environment_0.createInstance();\n@SuppressWarnings(\"null\")\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%java.util.List%><<%example2.classes.NamedElement%>> namedElements = this.getNamedElements();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_namedElements = idResolver.createOrderedSetOfAll(<%example2.env.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_elements = idResolver.createOrderedSetOfAll(<%example2.env.EnvironmentTables%>.ORD_TMPLid_, elements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.CollectionValue%> includingAll = <%org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation%>.INSTANCE.evaluate(BOXED_namedElements, BOXED_elements);\nfinal <%java.util.List%>> UNBOXED_includingAll = includingAll.asEcoreObjects(idResolver, <%java.lang.Object%>.class);\nassert UNBOXED_includingAll != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_includingAll);\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%example2.env.Environment%> parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'" * @generated */ Environment addElements(EList elements); @@ -88,7 +88,7 @@ public interface Environment extends Env4CG { /** * * - * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * Environment{\n * namedElements = namedElements->including(element), parentEnv = parentEnv\n * }\n \052/\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.evaluation.Evaluator%> evaluator = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getEvaluator(this);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.ids.IdResolver%> idResolver = evaluator.getIdResolver();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_namedElements = idResolver.getProperty(<%example2.env.EnvironmentTables%>.PROPid_namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_parentEnv = idResolver.getProperty(<%example2.env.EnvironmentTables%>.PROPid_parentEnv);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Class%> TYP_env_c_c_Environment_0 = idResolver.getClass(<%example2.env.EnvironmentTables%>.CLSSid_Environment, null);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%example2.env.Environment%> symbol_0 = (<%example2.env.Environment%>)TYP_env_c_c_Environment_0.createInstance();\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%java.util.List%><<%example2.classes.NamedElement%>> namedElements = this.getNamedElements();\nassert namedElements != null;\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_namedElements = idResolver.createOrderedSetOfAll(<%example2.env.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> including = (<%org.eclipse.ocl.pivot.values.OrderedSetValue%>)<%org.eclipse.ocl.pivot.library.collection.CollectionIncludingOperation%>.INSTANCE.evaluate(BOXED_namedElements, element);\nfinal <%java.util.List%><<%example2.classes.NamedElement%>> UNBOXED_including = including.asEcoreObjects(idResolver, <%example2.classes.NamedElement%>.class);\nassert UNBOXED_including != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_including);\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%example2.env.Environment%> parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'" + * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='/**\n * \n * Environment{\n * namedElements = namedElements->including(element), parentEnv = parentEnv\n * }\n \052/\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.evaluation.Executor%> executor = <%org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal%>.getExecutor(this);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.ids.IdResolver%> idResolver = executor.getIdResolver();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_namedElements = idResolver.getProperty(<%example2.env.EnvironmentTables%>.PROPid_namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Property%> CTORid_parentEnv = idResolver.getProperty(<%example2.env.EnvironmentTables%>.PROPid_parentEnv);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@NonInvalid\052/ <%org.eclipse.ocl.pivot.Class%> TYP_env_c_c_Environment_0 = idResolver.getClass(<%example2.env.EnvironmentTables%>.CLSSid_Environment, null);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%example2.env.Environment%> symbol_0 = (<%example2.env.Environment%>)TYP_env_c_c_Environment_0.createInstance();\n@SuppressWarnings(\"null\")\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%java.util.List%><<%example2.classes.NamedElement%>> namedElements = this.getNamedElements();\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> BOXED_namedElements = idResolver.createOrderedSetOfAll(<%example2.env.EnvironmentTables%>.ORD_CLSSid_NamedElement, namedElements);\nfinal @<%org.eclipse.jdt.annotation.NonNull%> /*@Thrown\052/ <%org.eclipse.ocl.pivot.values.OrderedSetValue%> including = (<%org.eclipse.ocl.pivot.values.OrderedSetValue%>)<%org.eclipse.ocl.pivot.library.collection.CollectionIncludingOperation%>.INSTANCE.evaluate(BOXED_namedElements, element);\nfinal <%java.util.List%><<%example2.classes.NamedElement%>> UNBOXED_including = including.asEcoreObjects(idResolver, <%example2.classes.NamedElement%>.class);\nassert UNBOXED_including != null;\nCTORid_namedElements.initValue(symbol_0, UNBOXED_including);\nfinal @<%org.eclipse.jdt.annotation.Nullable%> /*@Thrown\052/ <%example2.env.Environment%> parentEnv = this.getParentEnv();\nCTORid_parentEnv.initValue(symbol_0, parentEnv);\nreturn symbol_0;'" * @generated */ Environment addElement(NamedElement element); diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/EnvironmentPackage.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/EnvironmentPackage.java index dd71b17bf..37300afc1 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/EnvironmentPackage.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/EnvironmentPackage.java @@ -96,13 +96,13 @@ public interface EnvironmentPackage extends EPackage { int ENV4_CG___HAS_FINAL_RESULT = 0; /** - * The operation id for the 'Get Evaluator' operation. + * The operation id for the 'Get Executor' operation. * * * @generated * @ordered */ - int ENV4_CG___GET_EVALUATOR = 1; + int ENV4_CG___GET_EXECUTOR = 1; /** * The number of operations of the 'Env4 CG' class. @@ -160,13 +160,13 @@ public interface EnvironmentPackage extends EPackage { int ENVIRONMENT___HAS_FINAL_RESULT = ENV4_CG___HAS_FINAL_RESULT; /** - * The operation id for the 'Get Evaluator' operation. + * The operation id for the 'Get Executor' operation. * * * @generated * @ordered */ - int ENVIRONMENT___GET_EVALUATOR = ENV4_CG___GET_EVALUATOR; + int ENVIRONMENT___GET_EXECUTOR = ENV4_CG___GET_EXECUTOR; /** * The operation id for the 'Add Elements' operation. @@ -196,33 +196,32 @@ public interface EnvironmentPackage extends EPackage { int ENVIRONMENT_OPERATION_COUNT = ENV4_CG_OPERATION_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.ocl.pivot.evaluation.Evaluator Evaluator}' class. + * The meta object id for the '{@link org.eclipse.ocl.pivot.evaluation.Executor Executor}' class. * * - * @see org.eclipse.ocl.pivot.evaluation.Evaluator - * @see example2.env.impl.EnvironmentPackageImpl#getEvaluator() + * @see org.eclipse.ocl.pivot.evaluation.Executor + * @see example2.env.impl.EnvironmentPackageImpl#getExecutor() * @generated */ - int EVALUATOR = 2; + int EXECUTOR = 2; /** - * The number of structural features of the 'Evaluator' class. + * The number of structural features of the 'Executor' class. * * * @generated * @ordered */ - int EVALUATOR_FEATURE_COUNT = 0; + int EXECUTOR_FEATURE_COUNT = 0; /** - * The number of operations of the 'Evaluator' class. + * The number of operations of the 'Executor' class. * * * @generated * @ordered */ - int EVALUATOR_OPERATION_COUNT = 0; - + int EXECUTOR_OPERATION_COUNT = 0; /** * Returns the meta object for class '{@link example2.env.Environment Environment}'. @@ -297,25 +296,25 @@ public interface EnvironmentPackage extends EPackage { EOperation getEnv4CG__HasFinalResult(); /** - * Returns the meta object for the '{@link example2.env.Env4CG#getEvaluator() Get Evaluator}' operation. + * Returns the meta object for the '{@link example2.env.Env4CG#getExecutor() Get Executor}' operation. * * - * @return the meta object for the 'Get Evaluator' operation. - * @see example2.env.Env4CG#getEvaluator() + * @return the meta object for the 'Get Executor' operation. + * @see example2.env.Env4CG#getExecutor() * @generated */ - EOperation getEnv4CG__GetEvaluator(); + EOperation getEnv4CG__GetExecutor(); /** - * Returns the meta object for class '{@link org.eclipse.ocl.pivot.evaluation.Evaluator Evaluator}'. + * Returns the meta object for class '{@link org.eclipse.ocl.pivot.evaluation.Executor Executor}'. * * - * @return the meta object for class 'Evaluator'. - * @see org.eclipse.ocl.pivot.evaluation.Evaluator - * @model instanceClass="org.eclipse.ocl.pivot.evaluation.Evaluator" + * @return the meta object for class 'Executor'. + * @see org.eclipse.ocl.pivot.evaluation.Executor + * @model instanceClass="org.eclipse.ocl.pivot.evaluation.Executor" * @generated */ - EClass getEvaluator(); + EClass getExecutor(); /** * Returns the factory that creates the instances of the model. @@ -401,22 +400,22 @@ public interface EnvironmentPackage extends EPackage { EOperation ENV4_CG___HAS_FINAL_RESULT = eINSTANCE.getEnv4CG__HasFinalResult(); /** - * The meta object literal for the 'Get Evaluator' operation. + * The meta object literal for the 'Get Executor' operation. * * * @generated */ - EOperation ENV4_CG___GET_EVALUATOR = eINSTANCE.getEnv4CG__GetEvaluator(); + EOperation ENV4_CG___GET_EXECUTOR = eINSTANCE.getEnv4CG__GetExecutor(); /** - * The meta object literal for the '{@link org.eclipse.ocl.pivot.evaluation.Evaluator Evaluator}' class. + * The meta object literal for the '{@link org.eclipse.ocl.pivot.evaluation.Executor Executor}' class. * * - * @see org.eclipse.ocl.pivot.evaluation.Evaluator - * @see example2.env.impl.EnvironmentPackageImpl#getEvaluator() + * @see org.eclipse.ocl.pivot.evaluation.Executor + * @see example2.env.impl.EnvironmentPackageImpl#getExecutor() * @generated */ - EClass EVALUATOR = eINSTANCE.getEvaluator(); + EClass EXECUTOR = eINSTANCE.getExecutor(); } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/EnvironmentTables.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/EnvironmentTables.java index 67df690fc..b1ca2d052 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/EnvironmentTables.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/EnvironmentTables.java @@ -1,13 +1,3 @@ -/******************************************************************************* - * Copyright (c) 2015 Willink Transformations and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * E.D.Willink - initial API and implementation - *******************************************************************************/ /******************************************************************************* ************************************************************************* * This code is 100% auto-generated @@ -79,7 +69,7 @@ public class EnvironmentTables public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classes_s_1_0 = IdManager.getNsURIPackageId("http://cs2as/tests/example2/classes/1.0", null, ClassesPackage.eINSTANCE); public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_env_s_1_0 = IdManager.getNsURIPackageId("http://cs2as/tests/example2/env/1.0", null, EnvironmentPackage.eINSTANCE); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Environment = EnvironmentTables.PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_env_s_1_0.getClassId("Environment", 0); - public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Evaluator = EnvironmentTables.PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_env_s_1_0.getClassId("Evaluator", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Executor = EnvironmentTables.PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_env_s_1_0.getClassId("Executor", 0); public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_NamedElement = EnvironmentTables.PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classes_s_1_0.getClassId("NamedElement", 0); public static final @NonNull /*@NonInvalid*/ CollectionTypeId BAG_CLSSid_Environment = TypeId.BAG.getSpecializedId(EnvironmentTables.CLSSid_Environment); public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_NamedElement = TypeId.ORDERED_SET.getSpecializedId(EnvironmentTables.CLSSid_NamedElement); @@ -117,12 +107,12 @@ public class EnvironmentTables public static final @NonNull EcoreExecutorType _Env4CG = new EcoreExecutorType(EnvironmentPackage.Literals.ENV4_CG, PACKAGE, 0); public static final @NonNull EcoreExecutorType _Environment = new EcoreExecutorType(EnvironmentPackage.Literals.ENVIRONMENT, PACKAGE, 0); - public static final @NonNull EcoreExecutorType _Evaluator = new EcoreExecutorType(EnvironmentPackage.Literals.EVALUATOR, PACKAGE, 0); + public static final @NonNull EcoreExecutorType _Executor = new EcoreExecutorType(EnvironmentPackage.Literals.EXECUTOR, PACKAGE, 0); private static final @NonNull EcoreExecutorType[] types = { _Env4CG, _Environment, - _Evaluator + _Executor }; /* @@ -157,9 +147,9 @@ public class EnvironmentTables private static final @NonNull ExecutorFragment _Environment__OclAny = new ExecutorFragment(Types._Environment, OCLstdlibTables.Types._OclAny); private static final @NonNull ExecutorFragment _Environment__OclElement = new ExecutorFragment(Types._Environment, OCLstdlibTables.Types._OclElement); - private static final @NonNull ExecutorFragment _Evaluator__Evaluator = new ExecutorFragment(Types._Evaluator, EnvironmentTables.Types._Evaluator); - private static final @NonNull ExecutorFragment _Evaluator__OclAny = new ExecutorFragment(Types._Evaluator, OCLstdlibTables.Types._OclAny); - private static final @NonNull ExecutorFragment _Evaluator__OclElement = new ExecutorFragment(Types._Evaluator, OCLstdlibTables.Types._OclElement); + private static final @NonNull ExecutorFragment _Executor__Executor = new ExecutorFragment(Types._Executor, EnvironmentTables.Types._Executor); + private static final @NonNull ExecutorFragment _Executor__OclAny = new ExecutorFragment(Types._Executor, OCLstdlibTables.Types._OclAny); + private static final @NonNull ExecutorFragment _Executor__OclElement = new ExecutorFragment(Types._Executor, OCLstdlibTables.Types._OclElement); static { Init.initEnd(); @@ -203,7 +193,7 @@ public class EnvironmentTables Parameters.init(); } - public static final @NonNull ExecutorOperation _Env4CG__getEvaluator = new ExecutorOperation("getEvaluator", Parameters._, Types._Env4CG, + public static final @NonNull ExecutorOperation _Env4CG__getExecutor = new ExecutorOperation("getExecutor", Parameters._, Types._Env4CG, 0, TemplateParameters.EMPTY_LIST, null); public static final @NonNull ExecutorOperation _Env4CG__hasFinalResult = new ExecutorOperation("hasFinalResult", Parameters._, Types._Env4CG, 1, TemplateParameters.EMPTY_LIST, null); @@ -272,13 +262,13 @@ public class EnvironmentTables }; private static final @NonNull int[] __Environment = { 1,1,1,1 }; - private static final @NonNull ExecutorFragment[] _Evaluator = + private static final @NonNull ExecutorFragment[] _Executor = { - Fragments._Evaluator__OclAny /* 0 */, - Fragments._Evaluator__OclElement /* 1 */, - Fragments._Evaluator__Evaluator /* 2 */ + Fragments._Executor__OclAny /* 0 */, + Fragments._Executor__OclElement /* 1 */, + Fragments._Executor__Executor /* 2 */ }; - private static final @NonNull int[] __Evaluator = { 1,1,1 }; + private static final @NonNull int[] __Executor = { 1,1,1 }; /** * Install the fragment descriptors in the class descriptors. @@ -286,7 +276,7 @@ public class EnvironmentTables static { Types._Env4CG.initFragments(_Env4CG, __Env4CG); Types._Environment.initFragments(_Environment, __Environment); - Types._Evaluator.initFragments(_Evaluator, __Evaluator); + Types._Executor.initFragments(_Executor, __Executor); Init.initEnd(); } @@ -307,7 +297,7 @@ public class EnvironmentTables } private static final @NonNull ExecutorOperation[] _Env4CG__Env4CG = { - EnvironmentTables.Operations._Env4CG__getEvaluator /* getEvaluator() */, + EnvironmentTables.Operations._Env4CG__getExecutor /* getExecutor() */, EnvironmentTables.Operations._Env4CG__hasFinalResult /* hasFinalResult() */ }; private static final @NonNull ExecutorOperation[] _Env4CG__OclAny = { @@ -337,7 +327,7 @@ public class EnvironmentTables EnvironmentTables.Operations._Environment__addElements /* addElements(NE)(OrderedSet(NE)) */ }; private static final @NonNull ExecutorOperation[] _Environment__Env4CG = { - EnvironmentTables.Operations._Env4CG__getEvaluator /* getEvaluator() */, + EnvironmentTables.Operations._Env4CG__getExecutor /* getExecutor() */, EnvironmentTables.Operations._Env4CG__hasFinalResult /* hasFinalResult() */ }; private static final @NonNull ExecutorOperation[] _Environment__OclAny = { @@ -362,8 +352,8 @@ public class EnvironmentTables OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */ }; - private static final @NonNull ExecutorOperation[] _Evaluator__Evaluator = {}; - private static final @NonNull ExecutorOperation[] _Evaluator__OclAny = { + private static final @NonNull ExecutorOperation[] _Executor__Executor = {}; + private static final @NonNull ExecutorOperation[] _Executor__OclAny = { OCLstdlibTables.Operations._OclAny___lt__gt_ /* _'<>'(OclSelf[?]) */, OCLstdlibTables.Operations._OclAny___eq_ /* _'='(OclSelf[?]) */, OCLstdlibTables.Operations._OclAny__oclAsSet /* oclAsSet() */, @@ -379,7 +369,7 @@ public class EnvironmentTables OCLstdlibTables.Operations._OclAny__oclType /* oclType() */, OCLstdlibTables.Operations._OclAny__toString /* toString() */ }; - private static final @NonNull ExecutorOperation[] _Evaluator__OclElement = { + private static final @NonNull ExecutorOperation[] _Executor__OclElement = { OCLstdlibTables.Operations._OclElement__allInstances /* allInstances() */, OCLstdlibTables.Operations._OclElement__oclContainer /* oclContainer() */, OCLstdlibTables.Operations._OclElement__oclContents /* oclContents() */ @@ -398,9 +388,9 @@ public class EnvironmentTables Fragments._Environment__OclAny.initOperations(_Environment__OclAny); Fragments._Environment__OclElement.initOperations(_Environment__OclElement); - Fragments._Evaluator__Evaluator.initOperations(_Evaluator__Evaluator); - Fragments._Evaluator__OclAny.initOperations(_Evaluator__OclAny); - Fragments._Evaluator__OclElement.initOperations(_Evaluator__OclElement); + Fragments._Executor__Executor.initOperations(_Executor__Executor); + Fragments._Executor__OclAny.initOperations(_Executor__OclAny); + Fragments._Executor__OclElement.initOperations(_Executor__OclElement); Init.initEnd(); } @@ -428,7 +418,7 @@ public class EnvironmentTables EnvironmentTables.Properties._Environment__Environment__parentEnv }; - private static final @NonNull ExecutorProperty[] _Evaluator = {}; + private static final @NonNull ExecutorProperty[] _Executor = {}; /** * Install the property descriptors in the fragment descriptors. @@ -436,7 +426,7 @@ public class EnvironmentTables static { Fragments._Env4CG__Env4CG.initProperties(_Env4CG); Fragments._Environment__Environment.initProperties(_Environment); - Fragments._Evaluator__Evaluator.initProperties(_Evaluator); + Fragments._Executor__Executor.initProperties(_Executor); Init.initEnd(); } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/impl/EnvironmentImpl.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/impl/EnvironmentImpl.java index bd2026763..4bc22b642 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/impl/EnvironmentImpl.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/impl/EnvironmentImpl.java @@ -26,7 +26,7 @@ import org.eclipse.emf.ecore.util.EObjectResolvingEList; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.pivot.Property; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.IdResolver; import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal; import org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation; @@ -155,14 +155,14 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env * namedElements = namedElements->includingAll(elements), parentEnv = parentEnv * } */ - final @NonNull /*@NonInvalid*/ Evaluator evaluator = PivotUtilInternal.getEvaluator(this); - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ Executor executor = PivotUtilInternal.getExecutor(this); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@NonInvalid*/ Property CTORid_namedElements = idResolver.getProperty(EnvironmentTables.PROPid_namedElements); final @NonNull /*@NonInvalid*/ Property CTORid_parentEnv = idResolver.getProperty(EnvironmentTables.PROPid_parentEnv); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_env_c_c_Environment_0 = idResolver.getClass(EnvironmentTables.CLSSid_Environment, null); final @NonNull /*@Thrown*/ Environment symbol_0 = (Environment)TYP_env_c_c_Environment_0.createInstance(); - final @Nullable /*@Thrown*/ List namedElements = this.getNamedElements(); - assert namedElements != null; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List namedElements = this.getNamedElements(); final @NonNull /*@Thrown*/ OrderedSetValue BOXED_namedElements = idResolver.createOrderedSetOfAll(EnvironmentTables.ORD_CLSSid_NamedElement, namedElements); final @NonNull /*@NonInvalid*/ OrderedSetValue BOXED_elements = idResolver.createOrderedSetOfAll(EnvironmentTables.ORD_TMPLid_, elements); final @NonNull /*@Thrown*/ CollectionValue includingAll = CollectionIncludingAllOperation.INSTANCE.evaluate(BOXED_namedElements, BOXED_elements); @@ -186,14 +186,14 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env * namedElements = namedElements->including(element), parentEnv = parentEnv * } */ - final @NonNull /*@NonInvalid*/ Evaluator evaluator = PivotUtilInternal.getEvaluator(this); - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ Executor executor = PivotUtilInternal.getExecutor(this); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@NonInvalid*/ Property CTORid_namedElements = idResolver.getProperty(EnvironmentTables.PROPid_namedElements); final @NonNull /*@NonInvalid*/ Property CTORid_parentEnv = idResolver.getProperty(EnvironmentTables.PROPid_parentEnv); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_env_c_c_Environment_0 = idResolver.getClass(EnvironmentTables.CLSSid_Environment, null); final @NonNull /*@Thrown*/ Environment symbol_0 = (Environment)TYP_env_c_c_Environment_0.createInstance(); - final @Nullable /*@Thrown*/ List namedElements = this.getNamedElements(); - assert namedElements != null; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List namedElements = this.getNamedElements(); final @NonNull /*@Thrown*/ OrderedSetValue BOXED_namedElements = idResolver.createOrderedSetOfAll(EnvironmentTables.ORD_CLSSid_NamedElement, namedElements); final @NonNull /*@Thrown*/ OrderedSetValue including = (OrderedSetValue)CollectionIncludingOperation.INSTANCE.evaluate(BOXED_namedElements, element); final List UNBOXED_including = including.asEcoreObjects(idResolver, NamedElement.class); @@ -210,7 +210,7 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env * @generated */ public boolean hasFinalResult() { - throw new UnsupportedOperationException(); // FIXME Unimplemented http://cs2as/tests/example2/env/1.0!Env4CG!hasFinalResult() + throw new UnsupportedOperationException("Enviroment::hasFinalResult() has been created for CG purposes. Don't call this method"); } /** @@ -218,8 +218,8 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env * * @generated */ - public Evaluator getEvaluator() { - throw new UnsupportedOperationException(); // FIXME Unimplemented http://cs2as/tests/example2/env/1.0!Env4CG!getEvaluator() + public Executor getExecutor() { + throw new UnsupportedOperationException("Enviroment::getEvaluator() has been created for CG purposes. Don't call this method"); } /** @@ -308,8 +308,8 @@ public class EnvironmentImpl extends MinimalEObjectImpl.Container implements Env return addElement((NamedElement)arguments.get(0)); case EnvironmentPackage.ENVIRONMENT___HAS_FINAL_RESULT: return hasFinalResult(); - case EnvironmentPackage.ENVIRONMENT___GET_EVALUATOR: - return getEvaluator(); + case EnvironmentPackage.ENVIRONMENT___GET_EXECUTOR: + return getExecutor(); } return super.eInvoke(operationID, arguments); } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/impl/EnvironmentPackageImpl.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/impl/EnvironmentPackageImpl.java index 1b522b0ce..35f40ae2e 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/impl/EnvironmentPackageImpl.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/impl/EnvironmentPackageImpl.java @@ -19,8 +19,7 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.ETypeParameter; import org.eclipse.emf.ecore.impl.EPackageImpl; -import org.eclipse.ocl.pivot.evaluation.Evaluator; - +import org.eclipse.ocl.pivot.evaluation.Executor; import example2.classes.ClassesPackage; import example2.env.Env4CG; import example2.env.Environment; @@ -53,7 +52,7 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP * * @generated */ - private EClass evaluatorEClass = null; + private EClass executorEClass = null; /** * Creates an instance of the model Package, registered with @@ -187,7 +186,7 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP * * @generated */ - public EOperation getEnv4CG__GetEvaluator() { + public EOperation getEnv4CG__GetExecutor() { return env4CGEClass.getEOperations().get(1); } @@ -196,8 +195,8 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP * * @generated */ - public EClass getEvaluator() { - return evaluatorEClass; + public EClass getExecutor() { + return executorEClass; } /** @@ -236,9 +235,9 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP env4CGEClass = createEClass(ENV4_CG); createEOperation(env4CGEClass, ENV4_CG___HAS_FINAL_RESULT); - createEOperation(env4CGEClass, ENV4_CG___GET_EVALUATOR); + createEOperation(env4CGEClass, ENV4_CG___GET_EXECUTOR); - evaluatorEClass = createEClass(EVALUATOR); + executorEClass = createEClass(EXECUTOR); } /** @@ -293,9 +292,9 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP initEOperation(getEnv4CG__HasFinalResult(), ecorePackage.getEBoolean(), "hasFinalResult", 0, 1, IS_UNIQUE, IS_ORDERED); - initEOperation(getEnv4CG__GetEvaluator(), this.getEvaluator(), "getEvaluator", 0, 1, IS_UNIQUE, IS_ORDERED); + initEOperation(getEnv4CG__GetExecutor(), this.getExecutor(), "getExecutor", 0, 1, IS_UNIQUE, IS_ORDERED); - initEClass(evaluatorEClass, Evaluator.class, "Evaluator", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); + initEClass(executorEClass, Executor.class, "Executor", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); // Create resource createResource(eNS_URI); diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/util/EnvironmentAdapterFactory.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/util/EnvironmentAdapterFactory.java index 0b7d04a47..507858362 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/util/EnvironmentAdapterFactory.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/util/EnvironmentAdapterFactory.java @@ -16,8 +16,7 @@ import org.eclipse.emf.common.notify.Adapter; import org.eclipse.emf.common.notify.Notifier; import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; import org.eclipse.emf.ecore.EObject; -import org.eclipse.ocl.pivot.evaluation.Evaluator; - +import org.eclipse.ocl.pivot.evaluation.Executor; import example2.env.Env4CG; import example2.env.Environment; import example2.env.EnvironmentPackage; @@ -87,8 +86,8 @@ public class EnvironmentAdapterFactory extends AdapterFactoryImpl { return createEnv4CGAdapter(); } @Override - public Adapter caseEvaluator(Evaluator object) { - return createEvaluatorAdapter(); + public Adapter caseExecutor(Executor object) { + return createExecutorAdapter(); } @Override public Adapter defaultCase(EObject object) { @@ -139,16 +138,16 @@ public class EnvironmentAdapterFactory extends AdapterFactoryImpl { } /** - * Creates a new adapter for an object of class '{@link org.eclipse.ocl.pivot.evaluation.Evaluator Evaluator}'. + * Creates a new adapter for an object of class '{@link org.eclipse.ocl.pivot.evaluation.Executor Executor}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.ocl.pivot.evaluation.Evaluator + * @see org.eclipse.ocl.pivot.evaluation.Executor * @generated */ - public Adapter createEvaluatorAdapter() { + public Adapter createExecutorAdapter() { return null; } diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/util/EnvironmentSwitch.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/util/EnvironmentSwitch.java index 80246d039..a7f7f2085 100644 --- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/util/EnvironmentSwitch.java +++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example2/env/util/EnvironmentSwitch.java @@ -15,8 +15,7 @@ package example2.env.util; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.Switch; -import org.eclipse.ocl.pivot.evaluation.Evaluator; - +import org.eclipse.ocl.pivot.evaluation.Executor; import example2.env.Env4CG; import example2.env.Environment; import example2.env.EnvironmentPackage; @@ -91,9 +90,9 @@ public class EnvironmentSwitch extends Switch { if (result == null) result = defaultCase(theEObject); return result; } - case EnvironmentPackage.EVALUATOR: { - Evaluator evaluator = (Evaluator)theEObject; - T result = caseEvaluator(evaluator); + case EnvironmentPackage.EXECUTOR: { + Executor executor = (Executor)theEObject; + T result = caseExecutor(executor); if (result == null) result = defaultCase(theEObject); return result; } @@ -132,17 +131,17 @@ public class EnvironmentSwitch extends Switch { } /** - * Returns the result of interpreting the object as an instance of 'Evaluator'. + * Returns the result of interpreting the object as an instance of 'Executor'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Evaluator'. + * @return the result of interpreting the object as an instance of 'Executor'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseEvaluator(Evaluator object) { + public T caseExecutor(Executor object) { return null; } diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_ManualUML2RDBMS/ManualUML2RDBMS.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_ManualUML2RDBMS/ManualUML2RDBMS.java index 71db8ee5f..c74e6e2ed 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_ManualUML2RDBMS/ManualUML2RDBMS.java +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_ManualUML2RDBMS/ManualUML2RDBMS.java @@ -39,7 +39,7 @@ import manualuml2rdbms.uml2rdbms.UML2RDBMSFactory; import manualuml2rdbms.uml2rdbms.UML2RDBMSPackage; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.IdManager; @@ -156,8 +156,8 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor {0} // 0 : Package -> {Package} }; - public ManualUML2RDBMS(final @NonNull Evaluator evaluator) { - super(evaluator, new String[] {"uml", "rdbms", "middle"}, null, classIndex2classId, classIndex2allClassIndexes); + public ManualUML2RDBMS(final @NonNull Executor executor) { + super(executor, new String[] {"uml", "rdbms", "middle"}, null, classIndex2classId, classIndex2allClassIndexes); } public boolean run() { @@ -193,10 +193,10 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor */ protected boolean __root__() { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null); // mapping statements - final @NonNull /*@NonInvalid*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Package, TYP_uml_c_c_Package_0); + final @NonNull /*@NonInvalid*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_Package, TYP_uml_c_c_Package_0); final List UNBOXED_allInstances = allInstances.asEcoreObjects(idResolver, Package.class); assert UNBOXED_allInstances != null; for (Package p1 : UNBOXED_allInstances) { @@ -865,7 +865,7 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor */ protected boolean classToTableMR(final @NonNull /*@NonInvalid*/ ClassToTable c2t, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_8, final @NonNull /*@NonInvalid*/ Schema s) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @Nullable /*@Thrown*/ PackageToSchema owner = c2t.getOwner(); final /*@Thrown*/ boolean eq = p2s_8.equals(owner); if (!eq) { @@ -919,7 +919,7 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@Thrown*/ SetValue selectByKind = (SetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(evaluator, BOXED_fromAttributes, TYP_uml2rdbms_c_c_NonLeafAttribute_0); + final @NonNull /*@Thrown*/ SetValue selectByKind = (SetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, BOXED_fromAttributes, TYP_uml2rdbms_c_c_NonLeafAttribute_0); @NonNull /*@Thrown*/ BagValue.Accumulator accumulator = ValueUtil.createBagAccumulatorValue(BAG_CLSSid_FromAttribute); @NonNull Iterator ITERATOR__1 = selectByKind.iterator(); @NonNull /*@Thrown*/ BagValue collect; @@ -1022,7 +1022,7 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor */ protected boolean classToTableMR_2(final @NonNull /*@NonInvalid*/ ClassToTable c2t_2, final @NonNull /*@NonInvalid*/ Table t_2) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); // creations final /*@Thrown*/ Column pc = RDBMSFactory.eINSTANCE.createColumn(); assert pc != null; @@ -1446,7 +1446,7 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor */ protected boolean associationToForeignKeyMR_1(final @NonNull /*@NonInvalid*/ Table dt_0, final @NonNull /*@NonInvalid*/ Column fc, final @NonNull /*@NonInvalid*/ ForeignKey fk, final @NonNull /*@NonInvalid*/ Key rk_0) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); // variable assignments @SuppressWarnings("null") final @NonNull /*@Thrown*/ List column = rk_0.getColumn(); @@ -1524,7 +1524,7 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor */ protected boolean classPrimitiveAttributesLM(final @NonNull /*@NonInvalid*/ Attribute a_0, final @NonNull /*@NonInvalid*/ manualuml2rdbms.uml.Class c_0, final @NonNull /*@NonInvalid*/ ClassToTable fao) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ manualuml2rdbms.uml.Class owner = a_0.getOwner(); final /*@Thrown*/ boolean eq = owner.equals(c_0); @@ -1600,7 +1600,7 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor */ protected boolean classComplexAttributesLM(final @NonNull /*@NonInvalid*/ Attribute a_1, final @NonNull /*@NonInvalid*/ manualuml2rdbms.uml.Class c_1, final @NonNull /*@NonInvalid*/ ClassToTable fao_0) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ manualuml2rdbms.uml.Class owner = a_1.getOwner(); final /*@Thrown*/ boolean eq = owner.equals(c_1); @@ -1754,7 +1754,7 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor */ protected boolean complexAttributePrimitiveAttributesLM_1(final @NonNull /*@NonInvalid*/ Attribute a_1_0, final @NonNull /*@NonInvalid*/ manualuml2rdbms.uml.Class c_1_0, final @NonNull /*@NonInvalid*/ Attribute ca_1, final @NonNull /*@NonInvalid*/ NonLeafAttribute fao_1) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ Classifier type = a_1_0.getType(); if (!(type instanceof PrimitiveDataType)) { @@ -1879,7 +1879,7 @@ public class ManualUML2RDBMS extends AbstractTransformationExecutor */ protected boolean complexAttributeComplexAttributesLM_1(final @NonNull /*@NonInvalid*/ Attribute a_1_1, final @NonNull /*@NonInvalid*/ manualuml2rdbms.uml.Class c_1_1, final @NonNull /*@NonInvalid*/ Attribute ca_1_0, final @NonNull /*@NonInvalid*/ NonLeafAttribute fao_1_0) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ manualuml2rdbms.uml.Class owner = a_1_1.getOwner(); final /*@Thrown*/ boolean eq = owner.equals(c_1_1); diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_classescs2as/classescs2as.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_classescs2as/classescs2as.java index b9c3fc178..f8b116b0f 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_classescs2as/classescs2as.java +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_classescs2as/classescs2as.java @@ -28,7 +28,7 @@ import java.util.List; import java.util.Map; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.IdManager; @@ -132,8 +132,8 @@ public class classescs2as extends AbstractTransformationExecutor {8} // 8 : RootCS2Root -> {RootCS2Root} }; - public classescs2as(final @NonNull Evaluator evaluator) { - super(evaluator, new String[] {"leftCS", "rightAS", "middle"}, null, classIndex2classId, classIndex2allClassIndexes); + public classescs2as(final @NonNull Executor executor) { + super(executor, new String[] {"leftCS", "rightAS", "middle"}, null, classIndex2classId, classIndex2allClassIndexes); } public boolean run() { @@ -354,7 +354,7 @@ public class classescs2as extends AbstractTransformationExecutor */ protected boolean uRoot_ownedPackages(final @NonNull /*@NonInvalid*/ Root root, final @NonNull /*@NonInvalid*/ RootCS rootCS_0) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@Thrown*/ RootCS2Root RootCS2Root = ClassUtil.nonNullState (OPPOSITE_OF_RootCS2Root_rootCS.get(rootCS_0)); @SuppressWarnings("null") final @NonNull /*@Thrown*/ Root root_0 = RootCS2Root.getRoot(); @@ -465,7 +465,7 @@ public class classescs2as extends AbstractTransformationExecutor */ protected boolean uPackage_ownedClasses(final @NonNull /*@NonInvalid*/ Package symbol_2, final @NonNull /*@NonInvalid*/ PackageCS packageCS_1) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@Thrown*/ PackageCS2Package PackageCS2Package = ClassUtil.nonNullState (OPPOSITE_OF_PackageCS2Package_packageCS.get(packageCS_1)); @SuppressWarnings("null") final @NonNull /*@Thrown*/ Package symbol_3 = PackageCS2Package.getPackage(); @@ -597,7 +597,7 @@ public class classescs2as extends AbstractTransformationExecutor */ protected boolean __root__() { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Package_1 = idResolver.getClass(CLSSid_Package, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescs_c_c_ClassCS_1 = idResolver.getClass(CLSSid_ClassCS, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescs_c_c_PackageCS_0 = idResolver.getClass(CLSSid_PackageCS, null); @@ -605,10 +605,10 @@ public class classescs2as extends AbstractTransformationExecutor final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescstraces_c_c_ClassCS2Class_0 = idResolver.getClass(CLSSid_ClassCS2Class, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescstraces_c_c_PackageCS2Package_0 = idResolver.getClass(CLSSid_PackageCS2Package, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescstraces_c_c_RootCS2Root_0 = idResolver.getClass(CLSSid_RootCS2Root, null); - final @NonNull /*@NonInvalid*/ SetValue allInstances_3 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Package, TYP_classes_c_c_Package_1); - final @NonNull /*@NonInvalid*/ SetValue allInstances_7 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_ClassCS, TYP_classescs_c_c_ClassCS_1); - final @NonNull /*@NonInvalid*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PackageCS, TYP_classescs_c_c_PackageCS_0); - final @NonNull /*@NonInvalid*/ SetValue allInstances_11 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_RootCS, TYP_classescs_c_c_RootCS_1); + final @NonNull /*@NonInvalid*/ SetValue allInstances_3 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_Package, TYP_classes_c_c_Package_1); + final @NonNull /*@NonInvalid*/ SetValue allInstances_7 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_ClassCS, TYP_classescs_c_c_ClassCS_1); + final @NonNull /*@NonInvalid*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_PackageCS, TYP_classescs_c_c_PackageCS_0); + final @NonNull /*@NonInvalid*/ SetValue allInstances_11 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_RootCS, TYP_classescs_c_c_RootCS_1); final List UNBOXED_allInstances_3 = allInstances_3.asEcoreObjects(idResolver, Package.class); assert UNBOXED_allInstances_3 != null; final List UNBOXED_allInstances_7 = allInstances_7.asEcoreObjects(idResolver, ClassCS.class); @@ -626,7 +626,7 @@ public class classescs2as extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue allInstances_0 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PackageCS2Package, TYP_classescstraces_c_c_PackageCS2Package_0); + final @NonNull /*@NonInvalid*/ SetValue allInstances_0 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_PackageCS2Package, TYP_classescstraces_c_c_PackageCS2Package_0); final List UNBOXED_allInstances_0 = allInstances_0.asEcoreObjects(idResolver, PackageCS2Package.class); assert UNBOXED_allInstances_0 != null; for (PackageCS2Package p2p_1 : UNBOXED_allInstances_0) { @@ -675,7 +675,7 @@ public class classescs2as extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue allInstances_6 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_ClassCS2Class, TYP_classescstraces_c_c_ClassCS2Class_0); + final @NonNull /*@NonInvalid*/ SetValue allInstances_6 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_ClassCS2Class, TYP_classescstraces_c_c_ClassCS2Class_0); final List UNBOXED_allInstances_6 = allInstances_6.asEcoreObjects(idResolver, ClassCS2Class.class); assert UNBOXED_allInstances_6 != null; for (ClassCS2Class c2c_1 : UNBOXED_allInstances_6) { @@ -689,7 +689,7 @@ public class classescs2as extends AbstractTransformationExecutor for (ClassCS classCS_4 : UNBOXED_allInstances_7) { if (classCS_4 != null) { final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class, null); - final @NonNull /*@NonInvalid*/ SetValue allInstances_8 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Class, TYP_classes_c_c_Class_0); + final @NonNull /*@NonInvalid*/ SetValue allInstances_8 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_Class, TYP_classes_c_c_Class_0); final List UNBOXED_allInstances_8 = allInstances_8.asEcoreObjects(idResolver, classes.Class.class); assert UNBOXED_allInstances_8 != null; for (classes.Class symbol_44 : UNBOXED_allInstances_8) { @@ -713,7 +713,7 @@ public class classescs2as extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue allInstances_10 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_RootCS2Root, TYP_classescstraces_c_c_RootCS2Root_0); + final @NonNull /*@NonInvalid*/ SetValue allInstances_10 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_RootCS2Root, TYP_classescstraces_c_c_RootCS2Root_0); final List UNBOXED_allInstances_10 = allInstances_10.asEcoreObjects(idResolver, RootCS2Root.class); assert UNBOXED_allInstances_10 != null; for (RootCS2Root r2r_1 : UNBOXED_allInstances_10) { @@ -727,7 +727,7 @@ public class classescs2as extends AbstractTransformationExecutor for (RootCS rootCS_4 : UNBOXED_allInstances_11) { if (rootCS_4 != null) { final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classes_c_c_Root_0 = idResolver.getClass(CLSSid_Root, null); - final @NonNull /*@NonInvalid*/ SetValue allInstances_12 = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Root, TYP_classes_c_c_Root_0); + final @NonNull /*@NonInvalid*/ SetValue allInstances_12 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_Root, TYP_classes_c_c_Root_0); final List UNBOXED_allInstances_12 = allInstances_12.asEcoreObjects(idResolver, Root.class); assert UNBOXED_allInstances_12 != null; for (Root root_1 : UNBOXED_allInstances_12) { diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_classescs2as_Bug459225/classescs2as_Bug459225.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_classescs2as_Bug459225/classescs2as_Bug459225.java index 1b80047bc..1a381716d 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_classescs2as_Bug459225/classescs2as_Bug459225.java +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_classescs2as_Bug459225/classescs2as_Bug459225.java @@ -19,7 +19,7 @@ import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.pivot.Class; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.IdManager; @@ -83,8 +83,8 @@ public class classescs2as_Bug459225 extends AbstractTransformationExecutor {0} // 0 : PackageCS -> {PackageCS} }; - public classescs2as_Bug459225(final @NonNull Evaluator evaluator) { - super(evaluator, new String[] {"leftCS", "rightAS"}, null, classIndex2classId, classIndex2allClassIndexes); + public classescs2as_Bug459225(final @NonNull Executor executor) { + super(executor, new String[] {"leftCS", "rightAS"}, null, classIndex2classId, classIndex2allClassIndexes); } public boolean run() { @@ -107,15 +107,15 @@ public class classescs2as_Bug459225 extends AbstractTransformationExecutor * endif */ public @Nullable /*@NonInvalid*/ String computeName(final @NonNull /*@NonInvalid*/ NamedElementCS self_0) { - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); - final @Nullable /*@NonInvalid*/ Object container = ClassifierOclContainerOperation.INSTANCE.evaluate(evaluator, self_0); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); + final @Nullable /*@NonInvalid*/ Object container = ClassifierOclContainerOperation.INSTANCE.evaluate(executor, self_0); final @Nullable /*@Thrown*/ String name_0 = self_0.getName(); final /*@NonInvalid*/ boolean symbol_0 = container == null; final @Nullable /*@NonInvalid*/ Boolean not = BooleanNotOperation.INSTANCE.evaluate(symbol_0); @NonNull /*@Caught*/ Object CAUGHT_oclIsKindOf; try { final @NonNull /*@NonInvalid*/ Class TYP_classescs_c_c_NamedElementCS_0 = idResolver.getClass(CLSSid_NamedElementCS, null); - final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(evaluator, container, TYP_classescs_c_c_NamedElementCS_0).booleanValue(); + final /*@Thrown*/ boolean oclIsKindOf = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, container, TYP_classescs_c_c_NamedElementCS_0).booleanValue(); CAUGHT_oclIsKindOf = oclIsKindOf; } catch (Exception e) { @@ -128,7 +128,7 @@ public class classescs2as_Bug459225 extends AbstractTransformationExecutor @Nullable /*@Thrown*/ String symbol_1; if (and) { final @NonNull /*@NonInvalid*/ Class TYP_classescs_c_c_NamedElementCS_1 = idResolver.getClass(CLSSid_NamedElementCS, null); - final @NonNull /*@Thrown*/ NamedElementCS oclAsType = ClassUtil.nonNullState((NamedElementCS)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, container, TYP_classescs_c_c_NamedElementCS_1)); + final @NonNull /*@Thrown*/ NamedElementCS oclAsType = ClassUtil.nonNullState((NamedElementCS)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, container, TYP_classescs_c_c_NamedElementCS_1)); final @Nullable /*@Thrown*/ String computeName = this.computeName(oclAsType); final @NonNull /*@Thrown*/ String sum = StringConcatOperation.INSTANCE.evaluate(computeName, STR__c_c); final @NonNull /*@Thrown*/ String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, name_0); @@ -209,10 +209,10 @@ public class classescs2as_Bug459225 extends AbstractTransformationExecutor */ protected boolean __root__() { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@NonInvalid*/ Class TYP_classescs_c_c_PackageCS_0 = idResolver.getClass(CLSSid_PackageCS, null); // mapping statements - final @NonNull /*@NonInvalid*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PackageCS, TYP_classescs_c_c_PackageCS_0); + final @NonNull /*@NonInvalid*/ SetValue allInstances = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_PackageCS, TYP_classescs_c_c_PackageCS_0); final List UNBOXED_allInstances = allInstances.asEcoreObjects(idResolver, PackageCS.class); assert UNBOXED_allInstances != null; for (PackageCS packageCS_1 : UNBOXED_allInstances) { diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_hsv2hls/hsv2hls.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_hsv2hls/hsv2hls.java index b65d536ac..e42c89f40 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_hsv2hls/hsv2hls.java +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/_hsv2hls/hsv2hls.java @@ -13,7 +13,7 @@ import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.pivot.Class; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.DataTypeId; @@ -83,8 +83,8 @@ public class hsv2hls extends AbstractTransformationExecutor {0} // 0 : HSVNode -> {HSVNode} }; - public hsv2hls(final @NonNull Evaluator evaluator) { - super(evaluator, new String[] {"hsv", "hls", "middle"}, null, classIndex2classId, classIndex2allClassIndexes); + public hsv2hls(final @NonNull Executor executor) { + super(executor, new String[] {"hsv", "hls", "middle"}, null, classIndex2classId, classIndex2allClassIndexes); } public boolean run() { @@ -121,10 +121,10 @@ public class hsv2hls extends AbstractTransformationExecutor */ protected boolean __root__() { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@NonInvalid*/ Class TYP_HSVTree_c_c_HSVNode_0 = idResolver.getClass(CLSSid_HSVNode, null); // mapping statements - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_HSVNode, models[0/*hsv*/], TYP_HSVTree_c_c_HSVNode_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_HSVNode, models[0/*hsv*/], TYP_HSVTree_c_c_HSVNode_0); final List UNBOXED_objectsOfKind = objectsOfKind.asEcoreObjects(idResolver, HSVNode.class); assert UNBOXED_objectsOfKind != null; for (HSVNode hsvRoot_1 : UNBOXED_objectsOfKind) { diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/simpleUML2RDBMS/SimpleUML2RDBMS.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/simpleUML2RDBMS/SimpleUML2RDBMS.java new file mode 100644 index 000000000..d5526270b --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/simpleUML2RDBMS/SimpleUML2RDBMS.java @@ -0,0 +1,2070 @@ +/******************************************************************************* + * «codeGenHelper.getCopyright(' * ')» + * + * This code is 100% auto-generated + * using: org.eclipse.ocl.examples.codegen.java.JavaStream + * + * Do not edit it. + ********************************************************************************/ + +package cg.simpleUML2RDBMS; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.ocl.pivot.evaluation.Executor; +import org.eclipse.ocl.pivot.ids.ClassId; +import org.eclipse.ocl.pivot.ids.CollectionTypeId; +import org.eclipse.ocl.pivot.ids.IdManager; +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.collection.CollectionAsSetOperation; +import org.eclipse.ocl.pivot.library.collection.CollectionIncludesOperation; +import org.eclipse.ocl.pivot.library.collection.OrderedCollectionFirstOperation; +import org.eclipse.ocl.pivot.library.logical.BooleanAndOperation; +import org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation; +import org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation; +import org.eclipse.ocl.pivot.library.string.StringConcatOperation; +import org.eclipse.ocl.pivot.utilities.ClassUtil; +import org.eclipse.ocl.pivot.utilities.ValueUtil; +import org.eclipse.ocl.pivot.values.BagValue; +import org.eclipse.ocl.pivot.values.InvalidValueException; +import org.eclipse.ocl.pivot.values.OrderedSetValue; +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 simpleuml2rdbms.rdbms.Column; +import simpleuml2rdbms.rdbms.ForeignKey; +import simpleuml2rdbms.rdbms.Key; +import simpleuml2rdbms.rdbms.RDBMSFactory; +import simpleuml2rdbms.rdbms.RDBMSPackage; +import simpleuml2rdbms.rdbms.Schema; +import simpleuml2rdbms.rdbms.Table; +import simpleuml2rdbms.uml.Association; +import simpleuml2rdbms.uml.Attribute; +import simpleuml2rdbms.uml.Classifier; +import simpleuml2rdbms.uml.Package; +import simpleuml2rdbms.uml.PrimitiveDataType; +import simpleuml2rdbms.uml.UMLPackage; +import simpleuml2rdbms.uml2rdbms.AssociationToForeignKey; +import simpleuml2rdbms.uml2rdbms.AttributeToColumn; +import simpleuml2rdbms.uml2rdbms.BooleanToBoolean; +import simpleuml2rdbms.uml2rdbms.ClassToTable; +import simpleuml2rdbms.uml2rdbms.FromAttribute; +import simpleuml2rdbms.uml2rdbms.FromAttributeOwner; +import simpleuml2rdbms.uml2rdbms.IntegerToNumber; +import simpleuml2rdbms.uml2rdbms.NonLeafAttribute; +import simpleuml2rdbms.uml2rdbms.PackageToSchema; +import simpleuml2rdbms.uml2rdbms.PrimitiveToName; +import simpleuml2rdbms.uml2rdbms.StringToVarchar; +import simpleuml2rdbms.uml2rdbms.UML2RDBMSFactory; +import simpleuml2rdbms.uml2rdbms.UML2RDBMSPackage; + +/** + * The SimpleUML2RDBMS transformation: + *

+ * Construct with an evaluator + *
+ * Populate each input model with {@link addRootObjects(String,List)} + *
+ * {@link run()} + *
+ * Extract each output model with {@link getRootObjects(String)} + */ +@SuppressWarnings("nls") +public class SimpleUML2RDBMS 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_SimpleRDBMS = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/examples/0.1/SimpleRDBMS", null, RDBMSPackage.eINSTANCE); + public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/examples/0.1/SimpleUML", null, UMLPackage.eINSTANCE); + public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS = IdManager.getNsURIPackageId("http://www.eclipse.org/qvt/examples/0.1/SimpleUML2RDBMS", null, UML2RDBMSPackage.eINSTANCE); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Association = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML.getClassId("Association", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_AssociationToForeignKey = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("AssociationToForeignKey", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Attribute = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML.getClassId("Attribute", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_AttributeToColumn = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("AttributeToColumn", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_BooleanToBoolean = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("BooleanToBoolean", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Class = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML.getClassId("Class", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_ClassToTable = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("ClassToTable", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Class_0 = PACKid_$metamodel$.getClassId("Class", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Classifier = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML.getClassId("Classifier", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Column = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleRDBMS.getClassId("Column", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_ForeignKey = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleRDBMS.getClassId("ForeignKey", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_FromAttribute = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("FromAttribute", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_FromAttributeOwner = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("FromAttributeOwner", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_IntegerToNumber = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("IntegerToNumber", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Key = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleRDBMS.getClassId("Key", 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*/ ClassId CLSSid_NonLeafAttribute = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("NonLeafAttribute", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Package = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML.getClassId("Package", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_PackageToSchema = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("PackageToSchema", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_PrimitiveDataType = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML.getClassId("PrimitiveDataType", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_PrimitiveToName = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("PrimitiveToName", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Schema = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleRDBMS.getClassId("Schema", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_StringToVarchar = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleUML2RDBMS.getClassId("StringToVarchar", 0); + public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Table = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_examples_s_0_1_s_SimpleRDBMS.getClassId("Table", 0); + public static final @NonNull /*@NonInvalid*/ String STR_2 = "2"; + public static final @NonNull /*@NonInvalid*/ String STR_BOOLEAN = "BOOLEAN"; + public static final @NonNull /*@NonInvalid*/ String STR_Boolean = "Boolean"; + public static final @NonNull /*@NonInvalid*/ String STR_Integer = "Integer"; + public static final @NonNull /*@NonInvalid*/ String STR_NUMBER = "NUMBER"; + public static final @NonNull /*@NonInvalid*/ String STR_String = "String"; + public static final @NonNull /*@NonInvalid*/ String STR_VARCHAR = "VARCHAR"; + public static final @NonNull /*@NonInvalid*/ String STR__ = "_"; + public static final @NonNull /*@NonInvalid*/ String STR__pk = "_pk"; + public static final @NonNull /*@NonInvalid*/ String STR__tid = "_tid"; + public static final @NonNull /*@NonInvalid*/ String STR_base = "base"; + public static final @NonNull /*@NonInvalid*/ String STR_persistent = "persistent"; + public static final @NonNull /*@NonInvalid*/ String STR_primary = "primary"; + public static final @NonNull /*@NonInvalid*/ CollectionTypeId BAG_CLSSid_AttributeToColumn = TypeId.BAG.getSpecializedId(CLSSid_AttributeToColumn); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_Column = TypeId.ORDERED_SET.getSpecializedId(CLSSid_Column); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_ForeignKey = TypeId.ORDERED_SET.getSpecializedId(CLSSid_ForeignKey); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_Key = TypeId.ORDERED_SET.getSpecializedId(CLSSid_Key); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_Association = TypeId.SET.getSpecializedId(CLSSid_Association); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_AssociationToForeignKey = TypeId.SET.getSpecializedId(CLSSid_AssociationToForeignKey); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_Attribute = TypeId.SET.getSpecializedId(CLSSid_Attribute); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_AttributeToColumn = TypeId.SET.getSpecializedId(CLSSid_AttributeToColumn); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_BooleanToBoolean = TypeId.SET.getSpecializedId(CLSSid_BooleanToBoolean); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_Class = TypeId.SET.getSpecializedId(CLSSid_Class); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_ClassToTable = TypeId.SET.getSpecializedId(CLSSid_ClassToTable); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_FromAttribute = TypeId.SET.getSpecializedId(CLSSid_FromAttribute); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_IntegerToNumber = TypeId.SET.getSpecializedId(CLSSid_IntegerToNumber); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_Key = TypeId.SET.getSpecializedId(CLSSid_Key); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_NonLeafAttribute = TypeId.SET.getSpecializedId(CLSSid_NonLeafAttribute); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_Package = TypeId.SET.getSpecializedId(CLSSid_Package); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_PackageToSchema = TypeId.SET.getSpecializedId(CLSSid_PackageToSchema); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_PrimitiveDataType = TypeId.SET.getSpecializedId(CLSSid_PrimitiveDataType); + public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_StringToVarchar = TypeId.SET.getSpecializedId(CLSSid_StringToVarchar); + + /* + * Property-source to Property-target unnavigable navigation caches + */ + protected final @NonNull Map OPPOSITE_OF_ClassToTable_umlClass = new HashMap(); + protected final @NonNull Map OPPOSITE_OF_FromAttribute_attribute = new HashMap(); + protected final @NonNull Map OPPOSITE_OF_PackageToSchema_umlPackage = new HashMap(); + protected final @NonNull Map OPPOSITE_OF_PrimitiveToName_primitive = new HashMap(); + + /* + * Array of the ClassIds of each class for which allInstances() may be invoked. Array index is the ClassIndex. + */ + private static final @NonNull ClassId[] classIndex2classId = new ClassId[]{ + CLSSid_Association, // 0 => Association + CLSSid_AssociationToForeignKey, // 1 => AssociationToForeignKey + CLSSid_Attribute, // 2 => Attribute + CLSSid_AttributeToColumn, // 3 => AttributeToColumn + CLSSid_BooleanToBoolean, // 4 => BooleanToBoolean + CLSSid_Class, // 5 => Class + CLSSid_ClassToTable, // 6 => ClassToTable + CLSSid_IntegerToNumber, // 7 => IntegerToNumber + CLSSid_Key, // 8 => Key + CLSSid_NonLeafAttribute, // 9 => NonLeafAttribute + CLSSid_Package, // 10 => Package + CLSSid_PackageToSchema, // 11 => PackageToSchema + CLSSid_PrimitiveDataType, // 12 => PrimitiveDataType + CLSSid_StringToVarchar // 13 => StringToVarchar + }; + + /* + * Mapping from each ClassIndex to all the ClassIndexes to which an object of the outer index + * may contribute results to an allInstances() invocation. + * Non trivial inner arrays arise when one ClassId is a derivation of another and so an + * instance of the derived classId contributes to derived and inherited ClassIndexes. + */ + private final static @NonNull int[][] classIndex2allClassIndexes = new int[][] { + {0}, // 0 : Association -> {Association} + {1}, // 1 : AssociationToForeignKey -> {AssociationToForeignKey} + {2}, // 2 : Attribute -> {Attribute} + {3}, // 3 : AttributeToColumn -> {AttributeToColumn} + {4}, // 4 : BooleanToBoolean -> {BooleanToBoolean} + {5}, // 5 : Class -> {Class} + {6}, // 6 : ClassToTable -> {ClassToTable} + {7}, // 7 : IntegerToNumber -> {IntegerToNumber} + {8}, // 8 : Key -> {Key} + {9}, // 9 : NonLeafAttribute -> {NonLeafAttribute} + {10}, // 10 : Package -> {Package} + {11}, // 11 : PackageToSchema -> {PackageToSchema} + {12}, // 12 : PrimitiveDataType -> {PrimitiveDataType} + {13} // 13 : StringToVarchar -> {StringToVarchar} + }; + + public SimpleUML2RDBMS(final @NonNull Executor executor) { + super(executor, new String[] {"uml", "rdbms", "middle"}, null, classIndex2classId, classIndex2allClassIndexes); + } + + public boolean run() { + return __root__(); + } + + /** + * + * map packageToSchema_LM in SimpleUML2RDBMS { + * uml (p : uml::Package[?]; + * |) + * { |} + * middle ( |) + * {realize p2s : uml2rdbms::PackageToSchema[?]; + * |} + * where ( |) + * {_0 : String[?]; + * | + * _0 := p.name; + * p2s.umlPackage := p; + * p2s.name := _0; + * } + * + */ + protected boolean packageToSchema_LM(final @NonNull /*@NonInvalid*/ Package p) { + // predicates + // variable assignments + final @Nullable /*@Thrown*/ String name = p.getName(); + // creations + final /*@Thrown*/ PackageToSchema p2s_10 = UML2RDBMSFactory.eINSTANCE.createPackageToSchema(); + assert p2s_10 != null; + models[2/*middle*/].add(p2s_10); + // property assignments + p2s_10.setUmlPackage(p); + OPPOSITE_OF_PackageToSchema_umlPackage.put(p, p2s_10); + p2s_10.setName(name); + return true; + } + + /** + * + * map packageToSchema_MR in SimpleUML2RDBMS { + * rdbms ( |) + * {realize s : rdbms::Schema[?]; + * |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * |) + * { |} + * where ( |) + * {_0 : String[?]; + * | + * _0 := p2s.name; + * s.name := _0; + * p2s.schema := s; + * } + * + */ + protected boolean packageToSchema_MR(final @NonNull /*@NonInvalid*/ PackageToSchema p2s) { + // predicates + // variable assignments + final @Nullable /*@Thrown*/ String name = p2s.getName(); + // creations + final /*@Thrown*/ Schema s_1 = RDBMSFactory.eINSTANCE.createSchema(); + assert s_1 != null; + models[1/*rdbms*/].add(s_1); + // property assignments + s_1.setName(name); + p2s.setSchema(s_1); + return true; + } + + /** + * + * map integerToNumber_LM in SimpleUML2RDBMS { + * uml (p : uml::Package[?]; + * prim : uml::PrimitiveDataType[?]; + * |) + * { |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * |) + * {realize p2n : uml2rdbms::IntegerToNumber[?]; + * |} + * where ( | + * p2s.umlPackage = pprim.namespace = pprim.name = 'Integer') + * {_0 : String[1]; + * | + * _0 := prim.name + '2' + 'NUMBER'; + * p2n.owner := p2s; + * p2n.primitive := prim; + * p2n.name := _0; + * } + * + */ + protected boolean integerToNumber_LM(final @NonNull /*@NonInvalid*/ Package p_0, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_0, final @NonNull /*@NonInvalid*/ PrimitiveDataType prim) { + // predicates + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package umlPackage = p2s_0.getUmlPackage(); + final /*@Thrown*/ boolean eq = umlPackage.equals(p_0); + if (!eq) { + return false; + } + final @Nullable /*@Thrown*/ String name = prim.getName(); + final /*@Thrown*/ boolean eq_0 = STR_Integer.equals(name); + if (!eq_0) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace = prim.getNamespace(); + final /*@Thrown*/ boolean eq_1 = namespace.equals(p_0); + if (!eq_1) { + return false; + } + // variable assignments + final @NonNull /*@Thrown*/ String sum = StringConcatOperation.INSTANCE.evaluate(name, STR_2); + final @NonNull /*@Thrown*/ String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, STR_NUMBER); + // creations + final /*@Thrown*/ IntegerToNumber p2n_5 = UML2RDBMSFactory.eINSTANCE.createIntegerToNumber(); + assert p2n_5 != null; + models[2/*middle*/].add(p2n_5); + // property assignments + p2n_5.setOwner(p2s_0); + p2n_5.setPrimitive(prim); + OPPOSITE_OF_PrimitiveToName_primitive.put(prim, p2n_5); + p2n_5.setName(sum_0); + return true; + } + + /** + * + * map integerToNumber_MR in SimpleUML2RDBMS { + * rdbms ( |) + * { |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * p2n : uml2rdbms::IntegerToNumber[?]; + * |) + * { |} + * where ( | + * p2n.owner = p2s) + * {sqlType : String[?] = 'NUMBER'; + * | + * p2n.typeName := sqlType; + * } + * + */ + protected boolean integerToNumber_MR(final @NonNull /*@NonInvalid*/ IntegerToNumber p2n, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_1) { + // predicates + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner = p2n.getOwner(); + final /*@Thrown*/ boolean eq = owner.equals(p2s_1); + if (!eq) { + return false; + } + // variable assignments + // property assignments + p2n.setTypeName(STR_NUMBER); + return true; + } + + /** + * + * map booleanToBoolean_MR in SimpleUML2RDBMS { + * rdbms ( |) + * { |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * p2n : uml2rdbms::BooleanToBoolean[?]; + * |) + * { |} + * where ( | + * p2n.owner = p2s) + * {sqlType : String[?]; + * | + * sqlType := 'BOOLEAN'; + * p2n.typeName := sqlType; + * } + * + */ + protected boolean booleanToBoolean_MR(final @NonNull /*@NonInvalid*/ BooleanToBoolean p2n_0, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_2) { + // predicates + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner = p2n_0.getOwner(); + final /*@Thrown*/ boolean eq = owner.equals(p2s_2); + if (!eq) { + return false; + } + // variable assignments + // property assignments + p2n_0.setTypeName(STR_BOOLEAN); + return true; + } + + /** + * + * map booleanToBoolean_LM in SimpleUML2RDBMS { + * uml (p : uml::Package[?]; + * prim : uml::PrimitiveDataType[?]; + * |) + * { |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * |) + * {realize p2n : uml2rdbms::BooleanToBoolean[?]; + * |} + * where ( | + * p2s.umlPackage = pprim.namespace = pprim.name = 'Boolean') + * {_0 : String[1]; + * | + * _0 := prim.name + '2' + 'BOOLEAN'; + * p2n.primitive := prim; + * p2n.name := _0; + * p2n.owner := p2s; + * } + * + */ + protected boolean booleanToBoolean_LM(final @NonNull /*@NonInvalid*/ Package p_1, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_3, final @NonNull /*@NonInvalid*/ PrimitiveDataType prim_0) { + // predicates + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package umlPackage = p2s_3.getUmlPackage(); + final /*@Thrown*/ boolean eq = umlPackage.equals(p_1); + if (!eq) { + return false; + } + final @Nullable /*@Thrown*/ String name = prim_0.getName(); + final /*@Thrown*/ boolean eq_0 = STR_Boolean.equals(name); + if (!eq_0) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace = prim_0.getNamespace(); + final /*@Thrown*/ boolean eq_1 = namespace.equals(p_1); + if (!eq_1) { + return false; + } + // variable assignments + final @NonNull /*@Thrown*/ String sum = StringConcatOperation.INSTANCE.evaluate(name, STR_2); + final @NonNull /*@Thrown*/ String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, STR_BOOLEAN); + // creations + final /*@Thrown*/ BooleanToBoolean p2n_5 = UML2RDBMSFactory.eINSTANCE.createBooleanToBoolean(); + assert p2n_5 != null; + models[2/*middle*/].add(p2n_5); + // property assignments + p2n_5.setPrimitive(prim_0); + OPPOSITE_OF_PrimitiveToName_primitive.put(prim_0, p2n_5); + p2n_5.setName(sum_0); + p2n_5.setOwner(p2s_3); + return true; + } + + /** + * + * map stringToVarchar_MR in SimpleUML2RDBMS { + * rdbms ( |) + * { |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * p2n : uml2rdbms::StringToVarchar[?]; + * |) + * { |} + * where ( | + * p2n.owner = p2s) + * {sqlType : String[?] = 'VARCHAR'; + * | + * p2n.typeName := sqlType; + * } + * + */ + protected boolean stringToVarchar_MR(final @NonNull /*@NonInvalid*/ StringToVarchar p2n_1, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_4) { + // predicates + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner = p2n_1.getOwner(); + final /*@Thrown*/ boolean eq = owner.equals(p2s_4); + if (!eq) { + return false; + } + // variable assignments + // property assignments + p2n_1.setTypeName(STR_VARCHAR); + return true; + } + + /** + * + * map stringToVarchar_LM in SimpleUML2RDBMS { + * uml (p : uml::Package[?]; + * prim : uml::PrimitiveDataType[?]; + * |) + * { |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * |) + * {realize p2n : uml2rdbms::StringToVarchar[?]; + * |} + * where ( | + * p2s.umlPackage = pprim.namespace = pprim.name = 'String') + * {_0 : String[1]; + * | + * _0 := prim.name + '2' + 'VARCHAR'; + * p2n.name := _0; + * p2n.owner := p2s; + * p2n.primitive := prim; + * } + * + */ + protected boolean stringToVarchar_LM(final @NonNull /*@NonInvalid*/ Package p_2, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_5, final @NonNull /*@NonInvalid*/ PrimitiveDataType prim_1) { + // predicates + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package umlPackage = p2s_5.getUmlPackage(); + final /*@Thrown*/ boolean eq = umlPackage.equals(p_2); + if (!eq) { + return false; + } + final @Nullable /*@Thrown*/ String name = prim_1.getName(); + final /*@Thrown*/ boolean eq_0 = STR_String.equals(name); + if (!eq_0) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace = prim_1.getNamespace(); + final /*@Thrown*/ boolean eq_1 = namespace.equals(p_2); + if (!eq_1) { + return false; + } + // variable assignments + final @NonNull /*@Thrown*/ String sum = StringConcatOperation.INSTANCE.evaluate(name, STR_2); + final @NonNull /*@Thrown*/ String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, STR_VARCHAR); + // creations + final /*@Thrown*/ StringToVarchar p2n_5 = UML2RDBMSFactory.eINSTANCE.createStringToVarchar(); + assert p2n_5 != null; + models[2/*middle*/].add(p2n_5); + // property assignments + p2n_5.setName(sum_0); + p2n_5.setOwner(p2s_5); + p2n_5.setPrimitive(prim_1); + OPPOSITE_OF_PrimitiveToName_primitive.put(prim_1, p2n_5); + return true; + } + + /** + * + * map classToTable_MR in SimpleUML2RDBMS { + * rdbms (s : rdbms::Schema[?]; + * |) + * {realize t : rdbms::Table[?]; + * realize pk : rdbms::Key[?]; + * realize pc : rdbms::Column[?]; + * |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * c2t : uml2rdbms::ClassToTable[?]; + * |) + * { |} + * where ( | + * p2s.schema = sc2t.owner = p2s) + * {c2t_name : String[?] = c2t.name; + * _0 : String[1]; + * _1 : String[1]; + * | + * _0 := c2t_name + '_tid'; + * _1 := c2t_name + + * '_pk'; + * c2t.table := t; + * t.name := c2t_name; + * c2t.primaryKey := pk; + * c2t.column := pc; + * t.kind := 'base'; + * t.schema := s; + * pk.owner := t; + * pk.kind := 'primary'; + * pc.owner := t; + * pc.keys := OrderedSet{pk + * }; + * pc.type := 'NUMBER'; + * pc.name := _0; + * pk.name := _1; + * } + * + */ + protected boolean classToTable_MR(final @NonNull /*@NonInvalid*/ ClassToTable c2t, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_6, final @NonNull /*@NonInvalid*/ Schema s) { + // predicates + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner = c2t.getOwner(); + final /*@Thrown*/ boolean eq = owner.equals(p2s_6); + if (!eq) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Schema schema = p2s_6.getSchema(); + final /*@Thrown*/ boolean eq_0 = schema.equals(s); + if (!eq_0) { + return false; + } + // variable assignments + final @Nullable /*@Thrown*/ String name = c2t.getName(); + final @NonNull /*@Thrown*/ String sum = StringConcatOperation.INSTANCE.evaluate(name, STR__tid); + final @NonNull /*@Thrown*/ String sum_0 = StringConcatOperation.INSTANCE.evaluate(name, STR__pk); + // creations + final /*@Thrown*/ Column pc = RDBMSFactory.eINSTANCE.createColumn(); + assert pc != null; + models[1/*rdbms*/].add(pc); + final /*@Thrown*/ Key pk = RDBMSFactory.eINSTANCE.createKey(); + assert pk != null; + models[1/*rdbms*/].add(pk); + final /*@Thrown*/ Table t_4 = RDBMSFactory.eINSTANCE.createTable(); + assert t_4 != null; + models[1/*rdbms*/].add(t_4); + // property assignments + c2t.setTable(t_4); + t_4.setName(name); + c2t.setPrimaryKey(pk); + c2t.setColumn(pc); + t_4.setKind(STR_base); + t_4.setSchema(s); + pk.setOwner(t_4); + pk.setKind(STR_primary); + pc.setOwner(t_4); + final @NonNull /*@Thrown*/ OrderedSetValue OrderedSet = ValueUtil.createOrderedSetOfEach(ORD_CLSSid_Key, pk); + final List UNBOXED_OrderedSet = OrderedSet.asEcoreObjects(idResolver, Key.class); + assert UNBOXED_OrderedSet != null; + pc.getKeys().addAll(UNBOXED_OrderedSet); + pc.setType(STR_NUMBER); + pc.setName(sum); + pk.setName(sum_0); + return true; + } + + /** + * + * map classToTable_LM in SimpleUML2RDBMS { + * uml (p : uml::Package[?]; + * c : uml::Class[?]; + * |) + * { |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * |) + * {realize c2t : uml2rdbms::ClassToTable[?]; + * |} + * where ( | + * p2s.umlPackage = pc.kind = 'persistent'c.namespace = p) + * {_0 : String[?]; + * | + * _0 := c.name; + * c2t.owner := p2s; + * c2t.name := _0; + * c2t.umlClass := c; + * } + * + */ + protected boolean classToTable_LM(final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class c, final @NonNull /*@NonInvalid*/ Package p_3, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_7) { + // predicates + final @Nullable /*@Thrown*/ String kind = c.getKind(); + final /*@Thrown*/ boolean eq = STR_persistent.equals(kind); + if (!eq) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace = c.getNamespace(); + final /*@Thrown*/ boolean eq_0 = namespace.equals(p_3); + if (!eq_0) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package umlPackage = p2s_7.getUmlPackage(); + final /*@Thrown*/ boolean eq_1 = umlPackage.equals(p_3); + if (!eq_1) { + return false; + } + // variable assignments + final @Nullable /*@Thrown*/ String name = c.getName(); + // creations + final /*@Thrown*/ ClassToTable c2t_1 = UML2RDBMSFactory.eINSTANCE.createClassToTable(); + assert c2t_1 != null; + models[2/*middle*/].add(c2t_1); + // property assignments + c2t_1.setOwner(p2s_7); + c2t_1.setName(name); + c2t_1.setUmlClass(c); + OPPOSITE_OF_ClassToTable_umlClass.put(c, c2t_1); + return true; + } + + /** + * + * map associationToForeignKey_MR in SimpleUML2RDBMS { + * rdbms (s : rdbms::Schema[?]; + * st : rdbms::Table[?]; + * dt : rdbms::Table[?]; + * rk : rdbms::Key[?]; + * |) + * {realize fk : rdbms::ForeignKey[?]; + * realize fc : rdbms::Column[?]; + * |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * sc2t : uml2rdbms::ClassToTable[?]; + * dc2t : uml2rdbms::ClassToTable[?]; + * a2f : uml2rdbms::AssociationToForeignKey[?]; + * |) + * { |} + * where ( | + * dc2t.table = dtsc2t.owner = p2sp2s.schema = ssc2t.table = sta2f.referenced = dc2ta2f.owner = sc2trk.kind = 'primary'rk.owner = dtst.schema = + * s) + * {_0 : String[?]; + * _1 : String[?]; + * _2 : String[1]; + * | + * _0 := a2f.name; + * _1 := rk.column->first().type; + * _2 := a2f.name + + * '_tid'; + * fk.name := _0; + * a2f.foreignKey := fk; + * fc.type := _1; + * fc.name := _2; + * a2f.column := fc; + * fk.owner := st; + * fc.owner := st; + * fk.refersTo := rk; + * fc.foreignKeys := OrderedSet{fk + * }; + * } + * + */ + protected boolean associationToForeignKey_MR(final @NonNull /*@NonInvalid*/ AssociationToForeignKey a2f, final @NonNull /*@NonInvalid*/ ClassToTable dc2t, final @NonNull /*@NonInvalid*/ Table dt, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_8, final @NonNull /*@NonInvalid*/ Key rk, final @NonNull /*@NonInvalid*/ Schema s_0, final @NonNull /*@NonInvalid*/ ClassToTable sc2t, final @NonNull /*@NonInvalid*/ Table st) { + // predicates + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ ClassToTable owner = a2f.getOwner(); + final /*@Thrown*/ boolean eq = owner.equals(sc2t); + if (!eq) { + return false; + } + final @Nullable /*@Thrown*/ ClassToTable referenced = a2f.getReferenced(); + final /*@Thrown*/ boolean eq_0 = dc2t.equals(referenced); + if (!eq_0) { + return false; + } + final @Nullable /*@Thrown*/ Table table = dc2t.getTable(); + final /*@Thrown*/ boolean eq_1 = dt.equals(table); + if (!eq_1) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Schema schema = p2s_8.getSchema(); + final /*@Thrown*/ boolean eq_2 = schema.equals(s_0); + if (!eq_2) { + return false; + } + final @Nullable /*@Thrown*/ String kind = rk.getKind(); + final /*@Thrown*/ boolean eq_3 = STR_primary.equals(kind); + if (!eq_3) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Table owner_0 = rk.getOwner(); + final /*@Thrown*/ boolean eq_4 = owner_0.equals(dt); + if (!eq_4) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner_1 = sc2t.getOwner(); + final /*@Thrown*/ boolean eq_5 = owner_1.equals(p2s_8); + if (!eq_5) { + return false; + } + final @Nullable /*@Thrown*/ Table table_0 = sc2t.getTable(); + final /*@Thrown*/ boolean eq_6 = st.equals(table_0); + if (!eq_6) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Schema schema_0 = st.getSchema(); + final /*@Thrown*/ boolean eq_7 = schema_0.equals(s_0); + if (!eq_7) { + return false; + } + final @Nullable /*@Thrown*/ String name = a2f.getName(); + // variable assignments + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List column = rk.getColumn(); + final @NonNull /*@Thrown*/ OrderedSetValue BOXED_column = idResolver.createOrderedSetOfAll(ORD_CLSSid_Column, column); + final @Nullable /*@Thrown*/ Column first = (Column)OrderedCollectionFirstOperation.INSTANCE.evaluate(BOXED_column); + if (first == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleRDBMS\'::Column::type\'"); + } + final @Nullable /*@Thrown*/ String type = first.getType(); + final @NonNull /*@Thrown*/ String sum = StringConcatOperation.INSTANCE.evaluate(name, STR__tid); + // creations + final /*@Thrown*/ Column fc = RDBMSFactory.eINSTANCE.createColumn(); + assert fc != null; + models[1/*rdbms*/].add(fc); + final /*@Thrown*/ ForeignKey fk = RDBMSFactory.eINSTANCE.createForeignKey(); + assert fk != null; + models[1/*rdbms*/].add(fk); + // property assignments + fk.setName(name); + a2f.setForeignKey(fk); + fc.setType(type); + fc.setName(sum); + a2f.setColumn(fc); + fk.setOwner(st); + fc.setOwner(st); + fk.setRefersTo(rk); + final @NonNull /*@Thrown*/ OrderedSetValue OrderedSet = ValueUtil.createOrderedSetOfEach(ORD_CLSSid_ForeignKey, fk); + final List UNBOXED_OrderedSet = OrderedSet.asEcoreObjects(idResolver, ForeignKey.class); + assert UNBOXED_OrderedSet != null; + fc.getForeignKeys().addAll(UNBOXED_OrderedSet); + return true; + } + + /** + * + * map associationToForeignKey_LM in SimpleUML2RDBMS { + * uml (p : uml::Package[?]; + * sc : uml::Class[?]; + * dc : uml::Class[?]; + * a : uml::Association[?]; + * |) + * { |} + * middle (p2s : uml2rdbms::PackageToSchema[?]; + * sc2t : uml2rdbms::ClassToTable[?]; + * dc2t : uml2rdbms::ClassToTable[?]; + * |) + * {realize a2f : uml2rdbms::AssociationToForeignKey[?]; + * |} + * where ( | + * sc2t.owner = p2sdc2t.umlClass = dcsc2t.umlClass = scp2s.umlPackage = pa.namespace = psc.namespace = pa.source = sca.destination = + * dc) + * {a2f_name : String[?]; + * _1 : String[?]; + * | + * a2f_name := if a.destination = dc and a.source = sc + * then a.name + * else + * if a.destination <> dc and a.source = sc + * then dc.name + '_' + a.name + * else + * if a.destination = dc and a.source <> sc + * then a.name + '_' + sc.name + * else dc.name + '_' + a.name + '_' + sc.name + * endif + * endif + * endif + * ; + * _1 := if a.destination = dc and a.source = sc + * then a2f_name + * else a.name + * endif; + * a2f.association := a; + * a2f.referenced := dc2t; + * a2f.name := a2f_name; + * a2f.owner := sc2t; + * a.name := _1; + * } + * + */ + protected boolean associationToForeignKey_LM(final @NonNull /*@NonInvalid*/ Association a, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class dc, final @NonNull /*@NonInvalid*/ ClassToTable dc2t_0, final @NonNull /*@NonInvalid*/ Package p_4, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_9, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class sc, final @NonNull /*@NonInvalid*/ ClassToTable sc2t_0) { + // predicates + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class destination = a.getDestination(); + final /*@Thrown*/ boolean eq = destination.equals(dc); + if (!eq) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace = a.getNamespace(); + final /*@Thrown*/ boolean eq_0 = namespace.equals(p_4); + if (!eq_0) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class source = a.getSource(); + final /*@Thrown*/ boolean eq_1 = source.equals(sc); + if (!eq_1) { + return false; + } + final @Nullable /*@Thrown*/ simpleuml2rdbms.uml.Class umlClass = dc2t_0.getUmlClass(); + final /*@Thrown*/ boolean eq_2 = dc.equals(umlClass); + if (!eq_2) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package umlPackage = p2s_9.getUmlPackage(); + final /*@Thrown*/ boolean eq_3 = umlPackage.equals(p_4); + if (!eq_3) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace_0 = sc.getNamespace(); + final /*@Thrown*/ boolean eq_4 = namespace_0.equals(p_4); + if (!eq_4) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner = sc2t_0.getOwner(); + final /*@Thrown*/ boolean eq_5 = owner.equals(p2s_9); + if (!eq_5) { + return false; + } + final @Nullable /*@Thrown*/ simpleuml2rdbms.uml.Class umlClass_0 = sc2t_0.getUmlClass(); + final /*@Thrown*/ boolean eq_6 = sc.equals(umlClass_0); + if (!eq_6) { + return false; + } + final @Nullable /*@Thrown*/ String name = a.getName(); + @NonNull /*@Caught*/ Object CAUGHT_eq_11; + try { + CAUGHT_eq_11 = eq; + } + catch (Exception e) { + CAUGHT_eq_11 = ValueUtil.createInvalidValue(e); + } + @NonNull /*@Caught*/ Object CAUGHT_eq_12; + try { + CAUGHT_eq_12 = eq_1; + } + catch (Exception e) { + CAUGHT_eq_12 = ValueUtil.createInvalidValue(e); + } + final @Nullable /*@Thrown*/ Boolean and_2 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_eq_11, CAUGHT_eq_12); + if (and_2 == null) { + throw new InvalidValueException("Null if condition"); + } + // variable assignments + @Nullable /*@Thrown*/ String symbol_7; + if (and_2) { + symbol_7 = name; + } + else { + @NonNull /*@Caught*/ Object CAUGHT_ne; + try { + final /*@Thrown*/ boolean ne = !destination.equals(dc); + CAUGHT_ne = ne; + } + catch (Exception e) { + CAUGHT_ne = ValueUtil.createInvalidValue(e); + } + final @Nullable /*@Thrown*/ Boolean and_0 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_ne, CAUGHT_eq_12); + if (and_0 == null) { + throw new InvalidValueException("Null if condition"); + } + @NonNull /*@Thrown*/ String symbol_6; + if (and_0) { + final @Nullable /*@Thrown*/ String name_0 = dc.getName(); + final @NonNull /*@Thrown*/ String sum = StringConcatOperation.INSTANCE.evaluate(name_0, STR__); + final @NonNull /*@Thrown*/ String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, name); + symbol_6 = sum_0; + } + else { + final @Nullable /*@Thrown*/ String name_6 = sc.getName(); + @NonNull /*@Caught*/ Object CAUGHT_ne_0; + try { + final /*@Thrown*/ boolean ne_0 = !source.equals(sc); + CAUGHT_ne_0 = ne_0; + } + catch (Exception e) { + CAUGHT_ne_0 = ValueUtil.createInvalidValue(e); + } + final @Nullable /*@Thrown*/ Boolean and_1 = BooleanAndOperation.INSTANCE.evaluate(CAUGHT_eq_11, CAUGHT_ne_0); + if (and_1 == null) { + throw new InvalidValueException("Null if condition"); + } + @NonNull /*@Thrown*/ String symbol_5; + if (and_1) { + final @NonNull /*@Thrown*/ String sum_1 = StringConcatOperation.INSTANCE.evaluate(name, STR__); + final @NonNull /*@Thrown*/ String sum_2 = StringConcatOperation.INSTANCE.evaluate(sum_1, name_6); + symbol_5 = sum_2; + } + else { + final @Nullable /*@Thrown*/ String name_4 = dc.getName(); + final @NonNull /*@Thrown*/ String sum_3 = StringConcatOperation.INSTANCE.evaluate(name_4, STR__); + final @NonNull /*@Thrown*/ String sum_4 = StringConcatOperation.INSTANCE.evaluate(sum_3, name); + final @NonNull /*@Thrown*/ String sum_5 = StringConcatOperation.INSTANCE.evaluate(sum_4, STR__); + final @NonNull /*@Thrown*/ String sum_6 = StringConcatOperation.INSTANCE.evaluate(sum_5, name_6); + symbol_5 = sum_6; + } + symbol_6 = symbol_5; + } + symbol_7 = symbol_6; + } + @Nullable /*@Thrown*/ String symbol_8; + if (and_2) { + symbol_8 = symbol_7; + } + else { + symbol_8 = name; + } + // creations + final /*@Thrown*/ AssociationToForeignKey a2f_0 = UML2RDBMSFactory.eINSTANCE.createAssociationToForeignKey(); + assert a2f_0 != null; + models[2/*middle*/].add(a2f_0); + // property assignments + a2f_0.setAssociation(a); + a2f_0.setReferenced(dc2t_0); + a2f_0.setName(symbol_7); + a2f_0.setOwner(sc2t_0); + a.setName(symbol_8); + return true; + } + + /** + * + * map classPrimitiveAttributes_LM in SimpleUML2RDBMS { + * uml (t : uml::PrimitiveDataType[?]; + * c : uml::Class[?]; + * a : uml::Attribute[?]; + * |) + * { |} + * middle (fao : uml2rdbms::ClassToTable[?]; + * p2n : uml2rdbms::PrimitiveToName[?]; + * |) + * {realize fa : uml2rdbms::AttributeToColumn[?]; + * |} + * where ( | + * fao.umlClass = cp2n.primitive = ta.owner = ca.type = + * t) + * {_0 : String[?]; + * _1 : String[?]; + * | + * _0 := a.name; + * _1 := a.kind; + * fa.owner := fao; + * fa.type := p2n; + * fa.name := _0; + * fa.kind := _1; + * fa.attribute := a; + * fa.leafs := Set{fa + * }; + * } + * + */ + protected boolean classPrimitiveAttributes_LM(final @NonNull /*@NonInvalid*/ Attribute a_0, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class c_0, final @NonNull /*@NonInvalid*/ ClassToTable fao, final @NonNull /*@NonInvalid*/ PrimitiveToName p2n_2, final @NonNull /*@NonInvalid*/ PrimitiveDataType t) { + // predicates + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner = a_0.getOwner(); + final /*@Thrown*/ boolean eq = owner.equals(c_0); + if (!eq) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type = a_0.getType(); + final /*@Thrown*/ boolean eq_0 = type.equals(t); + if (!eq_0) { + return false; + } + final @Nullable /*@Thrown*/ simpleuml2rdbms.uml.Class umlClass = fao.getUmlClass(); + final /*@Thrown*/ boolean eq_1 = c_0.equals(umlClass); + if (!eq_1) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PrimitiveDataType primitive = p2n_2.getPrimitive(); + final /*@Thrown*/ boolean eq_2 = primitive.equals(t); + if (!eq_2) { + return false; + } + // variable assignments + final @Nullable /*@Thrown*/ String name = a_0.getName(); + final @Nullable /*@Thrown*/ String kind = a_0.getKind(); + // creations + final /*@Thrown*/ AttributeToColumn fa = UML2RDBMSFactory.eINSTANCE.createAttributeToColumn(); + assert fa != null; + models[2/*middle*/].add(fa); + // property assignments + fa.setOwner(fao); + fa.setType(p2n_2); + fa.setName(name); + fa.setKind(kind); + fa.setAttribute(a_0); + OPPOSITE_OF_FromAttribute_attribute.put(a_0, fa); + final @NonNull /*@Thrown*/ SetValue Set = ValueUtil.createSetOfEach(SET_CLSSid_AttributeToColumn, fa); + final List UNBOXED_Set = Set.asEcoreObjects(idResolver, AttributeToColumn.class); + assert UNBOXED_Set != null; + fa.getLeafs().addAll(UNBOXED_Set); + return true; + } + + /** + * + * map classComplexAttributes_LM in SimpleUML2RDBMS { + * uml (t : uml::Class[?]; + * c : uml::Class[?]; + * a : uml::Attribute[?]; + * |) + * { |} + * middle (fao : uml2rdbms::ClassToTable[?]; + * |) + * {realize fa : uml2rdbms::NonLeafAttribute[?]; + * |} + * where ( | + * fao.umlClass = ca.owner = ca.type = + * t) + * {_0 : String[?]; + * _1 : String[?]; + * _2 : Set(uml2rdbms::AttributeToColumn); + * | + * _0 := a.kind; + * _1 := a.name; + * _2 := fao.fromAttributes.leafs->asSet(); + * fa.attribute := a; + * fa.kind := _0; + * fa.owner := fao; + * fa.name := _1; + * fa.leafs := _2; + * } + * + */ + protected boolean classComplexAttributes_LM(final @NonNull /*@NonInvalid*/ Attribute a_1, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class c_1, final @NonNull /*@NonInvalid*/ ClassToTable fao_0, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class t_0) { + // predicates + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner = a_1.getOwner(); + final /*@Thrown*/ boolean eq = owner.equals(c_1); + if (!eq) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type = a_1.getType(); + final /*@Thrown*/ boolean eq_0 = type.equals(t_0); + if (!eq_0) { + return false; + } + final @Nullable /*@Thrown*/ simpleuml2rdbms.uml.Class umlClass = fao_0.getUmlClass(); + final /*@Thrown*/ boolean eq_1 = c_1.equals(umlClass); + if (!eq_1) { + return false; + } + // variable assignments + final @Nullable /*@Thrown*/ String kind = a_1.getKind(); + final @Nullable /*@Thrown*/ String name = a_1.getName(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List fromAttributes = fao_0.getFromAttributes(); + final @NonNull /*@Thrown*/ SetValue BOXED_fromAttributes = idResolver.createSetOfAll(SET_CLSSid_FromAttribute, fromAttributes); + @NonNull /*@Thrown*/ BagValue.Accumulator accumulator = ValueUtil.createBagAccumulatorValue(BAG_CLSSid_AttributeToColumn); + @Nullable Iterator ITERATOR__1 = BOXED_fromAttributes.iterator(); + @NonNull /*@Thrown*/ BagValue collect; + while (true) { + if (!ITERATOR__1.hasNext()) { + collect = accumulator; + break; + } + @Nullable /*@NonInvalid*/ FromAttribute _1 = (FromAttribute)ITERATOR__1.next(); + /** + * leafs + */ + if (_1 == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleUML2RDBMS\'::FromAttribute::leafs\'"); + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List leafs = _1.getLeafs(); + final @NonNull /*@Thrown*/ SetValue BOXED_leafs = idResolver.createSetOfAll(SET_CLSSid_AttributeToColumn, leafs); + // + for (Object value : BOXED_leafs.flatten().getElements()) { + accumulator.add(value); + } + } + final @NonNull /*@Thrown*/ SetValue asSet = CollectionAsSetOperation.INSTANCE.evaluate(collect); + // creations + final /*@Thrown*/ NonLeafAttribute fa = UML2RDBMSFactory.eINSTANCE.createNonLeafAttribute(); + assert fa != null; + models[2/*middle*/].add(fa); + // property assignments + fa.setAttribute(a_1); + OPPOSITE_OF_FromAttribute_attribute.put(a_1, fa); + fa.setKind(kind); + fa.setOwner(fao_0); + fa.setName(name); + final List UNBOXED_null = asSet.asEcoreObjects(idResolver, AttributeToColumn.class); + assert UNBOXED_null != null; + fa.getLeafs().addAll(UNBOXED_null); + return true; + } + + /** + * + * map complexAttributePrimitiveAttributes_LM in SimpleUML2RDBMS { + * uml (ca : uml::Attribute[?]; + * c : uml::Class[?]; + * t : uml::PrimitiveDataType[?]; + * a : uml::Attribute[?]; + * |) + * { |} + * middle (fao : uml2rdbms::NonLeafAttribute[?]; + * p2n : uml2rdbms::PrimitiveToName[?]; + * |) + * {realize fa : uml2rdbms::AttributeToColumn[?]; + * |} + * where ( | + * fao.attribute = cap2n.primitive = ta.owner = ca.type = tca.type = ca.owner = c) + * {_0 : String[?]; + * _1 : String[1]; + * | + * _0 := a.kind; + * _1 := fao.name + '_' + + * a.name; + * fa.owner := fao; + * fa.attribute := a; + * fa.kind := _0; + * fa.type := p2n; + * fa.leafs := Set{fa + * }; + * fa.name := _1; + * } + * + */ + protected boolean complexAttributePrimitiveAttributes_LM(final @NonNull /*@NonInvalid*/ Attribute a_2, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class c_2, final @NonNull /*@NonInvalid*/ Attribute ca, final @NonNull /*@NonInvalid*/ NonLeafAttribute fao_1, final @NonNull /*@NonInvalid*/ PrimitiveToName p2n_3, final @NonNull /*@NonInvalid*/ PrimitiveDataType t_1) { + // predicates + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner = a_2.getOwner(); + final /*@Thrown*/ boolean eq = owner.equals(c_2); + if (!eq) { + return false; + } + if (!eq) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type = a_2.getType(); + final /*@Thrown*/ boolean eq_1 = type.equals(t_1); + if (!eq_1) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type_0 = ca.getType(); + final /*@Thrown*/ boolean eq_2 = type_0.equals(c_2); + if (!eq_2) { + return false; + } + final @Nullable /*@Thrown*/ Attribute attribute = fao_1.getAttribute(); + final /*@Thrown*/ boolean eq_3 = ca.equals(attribute); + if (!eq_3) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PrimitiveDataType primitive = p2n_3.getPrimitive(); + final /*@Thrown*/ boolean eq_4 = primitive.equals(t_1); + if (!eq_4) { + return false; + } + // variable assignments + final @Nullable /*@Thrown*/ String kind = a_2.getKind(); + final @Nullable /*@Thrown*/ String name = fao_1.getName(); + final @NonNull /*@Thrown*/ String sum = StringConcatOperation.INSTANCE.evaluate(name, STR__); + final @Nullable /*@Thrown*/ String name_0 = a_2.getName(); + final @NonNull /*@Thrown*/ String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, name_0); + // creations + final /*@Thrown*/ AttributeToColumn fa = UML2RDBMSFactory.eINSTANCE.createAttributeToColumn(); + assert fa != null; + models[2/*middle*/].add(fa); + // property assignments + fa.setOwner(fao_1); + fa.setAttribute(a_2); + OPPOSITE_OF_FromAttribute_attribute.put(a_2, fa); + fa.setKind(kind); + fa.setType(p2n_3); + final @NonNull /*@Thrown*/ SetValue Set = ValueUtil.createSetOfEach(SET_CLSSid_AttributeToColumn, fa); + final List UNBOXED_Set = Set.asEcoreObjects(idResolver, AttributeToColumn.class); + assert UNBOXED_Set != null; + fa.getLeafs().addAll(UNBOXED_Set); + fa.setName(sum_0); + return true; + } + + /** + * + * map complexAttributeComplexAttributes_LM in SimpleUML2RDBMS { + * uml (ca : uml::Attribute[?]; + * c : uml::Class[?]; + * t : uml::Class[?]; + * a : uml::Attribute[?]; + * |) + * { |} + * middle (fao : uml2rdbms::NonLeafAttribute[?]; + * |) + * {realize fa : uml2rdbms::NonLeafAttribute[?]; + * |} + * where ( | + * fao.attribute = caa.owner = ca.owner = cca.type = ca.type = + * t) + * {_0 : String[?]; + * _1 : Set(uml2rdbms::AttributeToColumn); + * _2 : String[1]; + * | + * _0 := a.kind; + * _1 := fao.fromAttributes.leafs->asSet(); + * _2 := fao.name + '_' + a.name; + * fa.owner := fao; + * fa.kind := _0; + * fa.leafs := _1; + * fa.attribute := a; + * fa.name := _2; + * } + * + */ + protected boolean complexAttributeComplexAttributes_LM(final @NonNull /*@NonInvalid*/ Attribute a_3, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class c_3, final @NonNull /*@NonInvalid*/ Attribute ca_0, final @NonNull /*@NonInvalid*/ NonLeafAttribute fao_2, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class t_2) { + // predicates + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner = a_3.getOwner(); + final /*@Thrown*/ boolean eq = owner.equals(c_3); + if (!eq) { + return false; + } + if (!eq) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type = a_3.getType(); + final /*@Thrown*/ boolean eq_1 = type.equals(t_2); + if (!eq_1) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type_0 = ca_0.getType(); + final /*@Thrown*/ boolean eq_2 = type_0.equals(c_3); + if (!eq_2) { + return false; + } + final @Nullable /*@Thrown*/ Attribute attribute = fao_2.getAttribute(); + final /*@Thrown*/ boolean eq_3 = ca_0.equals(attribute); + if (!eq_3) { + return false; + } + // variable assignments + final @Nullable /*@Thrown*/ String kind = a_3.getKind(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List fromAttributes = fao_2.getFromAttributes(); + final @NonNull /*@Thrown*/ SetValue BOXED_fromAttributes = idResolver.createSetOfAll(SET_CLSSid_FromAttribute, fromAttributes); + @NonNull /*@Thrown*/ BagValue.Accumulator accumulator = ValueUtil.createBagAccumulatorValue(BAG_CLSSid_AttributeToColumn); + @Nullable Iterator ITERATOR__1 = BOXED_fromAttributes.iterator(); + @NonNull /*@Thrown*/ BagValue collect; + while (true) { + if (!ITERATOR__1.hasNext()) { + collect = accumulator; + break; + } + @Nullable /*@NonInvalid*/ FromAttribute _1 = (FromAttribute)ITERATOR__1.next(); + /** + * leafs + */ + if (_1 == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleUML2RDBMS\'::FromAttribute::leafs\'"); + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List leafs = _1.getLeafs(); + final @NonNull /*@Thrown*/ SetValue BOXED_leafs = idResolver.createSetOfAll(SET_CLSSid_AttributeToColumn, leafs); + // + for (Object value : BOXED_leafs.flatten().getElements()) { + accumulator.add(value); + } + } + final @NonNull /*@Thrown*/ SetValue asSet = CollectionAsSetOperation.INSTANCE.evaluate(collect); + final @Nullable /*@Thrown*/ String name = fao_2.getName(); + final @NonNull /*@Thrown*/ String sum = StringConcatOperation.INSTANCE.evaluate(name, STR__); + final @Nullable /*@Thrown*/ String name_0 = a_3.getName(); + final @NonNull /*@Thrown*/ String sum_0 = StringConcatOperation.INSTANCE.evaluate(sum, name_0); + // creations + final /*@Thrown*/ NonLeafAttribute fa = UML2RDBMSFactory.eINSTANCE.createNonLeafAttribute(); + assert fa != null; + models[2/*middle*/].add(fa); + // property assignments + fa.setOwner(fao_2); + fa.setKind(kind); + final List UNBOXED_null = asSet.asEcoreObjects(idResolver, AttributeToColumn.class); + assert UNBOXED_null != null; + fa.getLeafs().addAll(UNBOXED_null); + fa.setAttribute(a_3); + OPPOSITE_OF_FromAttribute_attribute.put(a_3, fa); + fa.setName(sum_0); + return true; + } + + /** + * + * map attributeColumns_MR in SimpleUML2RDBMS { + * rdbms (t : rdbms::Table[?]; + * ct : String[?]; + * |) + * {realize c : rdbms::Column[?]; + * |} + * middle (c2t : uml2rdbms::ClassToTable[?]; + * p2n : uml2rdbms::PrimitiveToName[?]; + * a2c : uml2rdbms::AttributeToColumn[?]; + * |) + * { |} + * where ( | + * c2t.table = tp2n.typeName = cta2c.owner = + * c2tc2t.fromAttributes.leafs->includes(a2c)a2c.type = p2n) + * {_0 : String[?]; + * _1 : String[?]; + * | + * _0 := a2c.name; + * _1 := a2c.kind; + * c.name := _0; + * c.kind := _1; + * a2c.column := c; + * c.owner := t; + * c.type := ct; + * } + * + */ + protected boolean attributeColumns_MR(final @NonNull /*@NonInvalid*/ AttributeToColumn a2c, final @NonNull /*@NonInvalid*/ ClassToTable c2t_0, final @NonNull /*@NonInvalid*/ String ct, final @NonNull /*@NonInvalid*/ PrimitiveToName p2n_4, final @NonNull /*@NonInvalid*/ Table t_3) { + // predicates + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); + final @Nullable /*@Thrown*/ Table table = c2t_0.getTable(); + final /*@Thrown*/ boolean eq = t_3.equals(table); + if (!eq) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ String typeName = p2n_4.getTypeName(); + final /*@Thrown*/ boolean eq_0 = typeName.equals(ct); + if (!eq_0) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ FromAttributeOwner owner = a2c.getOwner(); + final /*@Thrown*/ boolean eq_1 = owner.equals(c2t_0); + if (!eq_1) { + return false; + } + final @Nullable /*@Thrown*/ PrimitiveToName type = a2c.getType(); + final /*@Thrown*/ boolean eq_2 = p2n_4.equals(type); + if (!eq_2) { + return false; + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List fromAttributes = c2t_0.getFromAttributes(); + final @NonNull /*@Thrown*/ SetValue BOXED_fromAttributes = idResolver.createSetOfAll(SET_CLSSid_FromAttribute, fromAttributes); + @NonNull /*@Thrown*/ BagValue.Accumulator accumulator = ValueUtil.createBagAccumulatorValue(BAG_CLSSid_AttributeToColumn); + @Nullable Iterator ITERATOR__1 = BOXED_fromAttributes.iterator(); + @NonNull /*@Thrown*/ BagValue collect; + while (true) { + if (!ITERATOR__1.hasNext()) { + collect = accumulator; + break; + } + @Nullable /*@NonInvalid*/ FromAttribute _1 = (FromAttribute)ITERATOR__1.next(); + /** + * leafs + */ + if (_1 == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleUML2RDBMS\'::FromAttribute::leafs\'"); + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ List leafs = _1.getLeafs(); + final @NonNull /*@Thrown*/ SetValue BOXED_leafs = idResolver.createSetOfAll(SET_CLSSid_AttributeToColumn, leafs); + // + for (Object value : BOXED_leafs.flatten().getElements()) { + accumulator.add(value); + } + } + final /*@Thrown*/ boolean includes = CollectionIncludesOperation.INSTANCE.evaluate(collect, a2c).booleanValue(); + if (!includes) { + return false; + } + // variable assignments + final @Nullable /*@Thrown*/ String name = a2c.getName(); + final @Nullable /*@Thrown*/ String kind = a2c.getKind(); + // creations + final /*@Thrown*/ Column c_4 = RDBMSFactory.eINSTANCE.createColumn(); + assert c_4 != null; + models[1/*rdbms*/].add(c_4); + // property assignments + c_4.setName(name); + c_4.setKind(kind); + a2c.setColumn(c_4); + c_4.setOwner(t_3); + c_4.setType(ct); + return true; + } + + /** + * + * map __root__ in SimpleUML2RDBMS { + * + * where ( |) + * { |} + * for p : uml::Package in uml.objectsOfKind(uml::Package) + * { + * map packageToSchema_LM { + * p := p; + * }} + * for p2s : uml2rdbms::PackageToSchema in middle.objectsOfKind(uml2rdbms::PackageToSchema) + * { + * map packageToSchema_MR { + * p2s := p2s; + * }} + * for c : uml::Class in uml.objectsOfKind(uml::Class) + * { + * + * map classToTable_LM { + * c := c; + * p := c.namespace; + * p2s := c.namespace.middle; + * }} + * for c2t : uml2rdbms::ClassToTable in middle.objectsOfKind(uml2rdbms::ClassToTable) + * { + * + * map classToTable_MR { + * c2t := c2t; + * p2s := c2t.owner; + * s := c2t.owner.schema; + * }} + * for a : uml::Association in uml.objectsOfKind(uml::Association) + * { + * + * map associationToForeignKey_LM { + * a := a; + * dc := a.destination; + * dc2t := a.destination.middle; + * p := a.namespace; + * p2s := a.source.middle.owner; + * sc := a.source; + * sc2t := a.source.middle; + * }} + * for a2f : uml2rdbms::AssociationToForeignKey in middle.objectsOfKind(uml2rdbms::AssociationToForeignKey) + * { + * + * for rk : rdbms::Key in rdbms.objectsOfKind(rdbms::Key) + * { + * + * map associationToForeignKey_MR { + * a2f := a2f; + * dc2t := a2f.referenced; + * dt := a2f.referenced.table; + * p2s := a2f.owner.owner; + * rk := rk; + * s := a2f.owner.table.schema; + * sc2t := a2f.owner; + * st := a2f.owner.table; + * }}} + * for prim : uml::PrimitiveDataType in uml.objectsOfKind(uml::PrimitiveDataType) + * { + * + * map stringToVarchar_LM { + * p := prim.namespace; + * p2s := prim.namespace.middle; + * prim := prim; + * }} + * for prim : uml::PrimitiveDataType in uml.objectsOfKind(uml::PrimitiveDataType) + * { + * + * map integerToNumber_LM { + * p := prim.namespace; + * p2s := prim.namespace.middle; + * prim := prim; + * }} + * for prim : uml::PrimitiveDataType in uml.objectsOfKind(uml::PrimitiveDataType) + * { + * + * map booleanToBoolean_LM { + * p := prim.namespace; + * p2s := prim.namespace.middle; + * prim := prim; + * }} + * for a : uml::Attribute in uml.objectsOfKind(uml::Attribute) + * ->select(type.oclIsKindOf(uml::PrimitiveDataType)) + * { + * + * map classPrimitiveAttributes_LM { + * + * a := a; + * c := a.owner; + * fao := a.owner.middle; + * p2n := a.type.oclAsType(uml::PrimitiveDataType).middle; + * t := a.type; + * }} + * for p2n : uml2rdbms::IntegerToNumber in middle.objectsOfKind(uml2rdbms::IntegerToNumber) + * { + * map integerToNumber_MR { + * p2n := p2n; + * p2s := p2n.owner; + * }} + * for p2n : uml2rdbms::BooleanToBoolean in middle.objectsOfKind(uml2rdbms::BooleanToBoolean) + * { + * map booleanToBoolean_MR { + * p2n := p2n; + * p2s := p2n.owner; + * }} + * for p2n : uml2rdbms::StringToVarchar in middle.objectsOfKind(uml2rdbms::StringToVarchar) + * { + * map stringToVarchar_MR { + * p2n := p2n; + * p2s := p2n.owner; + * }} + * for a : uml::Attribute in uml.objectsOfKind(uml::Attribute) + * { + * + * map classComplexAttributes_LM { + * a := a; + * c := a.owner; + * fao := a.owner.middle; + * t := a.type; + * }} + * for fao : uml2rdbms::NonLeafAttribute in middle.objectsOfKind(uml2rdbms::NonLeafAttribute) + * { + * + * for a : uml::Attribute in uml.objectsOfKind(uml::Attribute) + * { + * + * map complexAttributeComplexAttributes_LM { + * a := a; + * c := fao.attribute.type; + * ca := fao.attribute; + * fao := fao; + * t := a.type; + * }}} + * for a : uml::Attribute in uml.objectsOfKind(uml::Attribute) + * ->select(type.oclIsKindOf(uml::PrimitiveDataType)) + * { + * + * for ca : uml::Attribute in uml.objectsOfKind(uml::Attribute) + * { + * + * map complexAttributePrimitiveAttributes_LM { + * + * a := a; + * c := a.owner; + * ca := ca; + * fao := ca.middle; + * p2n := a.type.oclAsType(uml::PrimitiveDataType).middle; + * t := a.type; + * }}} + * for a2c : uml2rdbms::AttributeToColumn in middle.objectsOfKind(uml2rdbms::AttributeToColumn) + * ->select(owner.oclIsKindOf(uml2rdbms::ClassToTable)) + * { + * + * map attributeColumns_MR { + * + * a2c := a2c; + * c2t := a2c.owner; + * ct := a2c.type.typeName; + * p2n := a2c.type; + * t := a2c.owner.oclAsType(uml2rdbms::ClassToTable).table; + * }} + */ + protected boolean __root__() { + // predicates + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_AssociationToForeignKey_0 = idResolver.getClass(CLSSid_AssociationToForeignKey, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_AttributeToColumn_0 = idResolver.getClass(CLSSid_AttributeToColumn, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_BooleanToBoolean_0 = idResolver.getClass(CLSSid_BooleanToBoolean, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_ClassToTable_0 = idResolver.getClass(CLSSid_ClassToTable, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_IntegerToNumber_0 = idResolver.getClass(CLSSid_IntegerToNumber, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_NonLeafAttribute_0 = idResolver.getClass(CLSSid_NonLeafAttribute, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_PackageToSchema_0 = idResolver.getClass(CLSSid_PackageToSchema, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_StringToVarchar_0 = idResolver.getClass(CLSSid_StringToVarchar, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml_c_c_Association_0 = idResolver.getClass(CLSSid_Association, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml_c_c_Attribute_1 = idResolver.getClass(CLSSid_Attribute, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml_c_c_Class_0 = idResolver.getClass(CLSSid_Class, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null); + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml_c_c_PrimitiveDataType_2 = idResolver.getClass(CLSSid_PrimitiveDataType, null); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_13 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Attribute, models[0/*uml*/], TYP_uml_c_c_Attribute_1); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_7 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_PrimitiveDataType, models[0/*uml*/], TYP_uml_c_c_PrimitiveDataType_2); + final List UNBOXED_objectsOfKind_13 = objectsOfKind_13.asEcoreObjects(idResolver, Attribute.class); + assert UNBOXED_objectsOfKind_13 != null; + final List UNBOXED_objectsOfKind_7 = objectsOfKind_7.asEcoreObjects(idResolver, PrimitiveDataType.class); + assert UNBOXED_objectsOfKind_7 != null; + @NonNull /*@Thrown*/ SetValue.Accumulator accumulator = ValueUtil.createSetAccumulatorValue(SET_CLSSid_Attribute); + @Nullable Iterator ITERATOR__1_0 = objectsOfKind_13.iterator(); + @NonNull /*@Thrown*/ SetValue select_0; + while (true) { + if (!ITERATOR__1_0.hasNext()) { + select_0 = accumulator; + break; + } + @Nullable /*@NonInvalid*/ Attribute _1_0 = (Attribute)ITERATOR__1_0.next(); + /** + * type.oclIsKindOf(uml::PrimitiveDataType) + */ + if (_1_0 == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleUML\'::Attribute::type\'"); + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type_5 = _1_0.getType(); + final /*@Thrown*/ boolean oclIsKindOf_0 = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, type_5, TYP_uml_c_c_PrimitiveDataType_2).booleanValue(); + // + if (oclIsKindOf_0 == ValueUtil.TRUE_VALUE) { + accumulator.add(_1_0); + } + } + final List UNBOXED_select_0 = select_0.asEcoreObjects(idResolver, Attribute.class); + assert UNBOXED_select_0 != null; + // mapping statements + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Package, models[0/*uml*/], TYP_uml_c_c_Package_0); + final List UNBOXED_objectsOfKind = objectsOfKind.asEcoreObjects(idResolver, Package.class); + assert UNBOXED_objectsOfKind != null; + for (Package p_11 : UNBOXED_objectsOfKind) { + if (p_11 != null) { + final @NonNull /*@NonInvalid*/ Package symbol_1 = (Package)p_11; + if (symbol_1 != null) { + packageToSchema_LM(symbol_1); + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_0 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_PackageToSchema, models[2/*middle*/], TYP_uml2rdbms_c_c_PackageToSchema_0); + final List UNBOXED_objectsOfKind_0 = objectsOfKind_0.asEcoreObjects(idResolver, PackageToSchema.class); + assert UNBOXED_objectsOfKind_0 != null; + for (PackageToSchema p2s_21 : UNBOXED_objectsOfKind_0) { + if (p2s_21 != null) { + final @NonNull /*@NonInvalid*/ PackageToSchema symbol_5 = (PackageToSchema)p2s_21; + if (symbol_5 != null) { + packageToSchema_MR(symbol_5); + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_1 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Class, models[0/*uml*/], TYP_uml_c_c_Class_0); + final List UNBOXED_objectsOfKind_1 = objectsOfKind_1.asEcoreObjects(idResolver, simpleuml2rdbms.uml.Class.class); + assert UNBOXED_objectsOfKind_1 != null; + for (simpleuml2rdbms.uml.Class c_9 : UNBOXED_objectsOfKind_1) { + if (c_9 != null) { + final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class symbol_9 = (simpleuml2rdbms.uml.Class)c_9; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace = symbol_9.getNamespace(); + final @NonNull /*@Thrown*/ PackageToSchema middle = ClassUtil.nonNullState (OPPOSITE_OF_PackageToSchema_umlPackage.get(namespace)); + if (symbol_9 != null) { + if (namespace != null) { + if (middle != null) { + classToTable_LM(symbol_9, namespace, middle); + } + } + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_2 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_ClassToTable, models[2/*middle*/], TYP_uml2rdbms_c_c_ClassToTable_0); + final List UNBOXED_objectsOfKind_2 = objectsOfKind_2.asEcoreObjects(idResolver, ClassToTable.class); + assert UNBOXED_objectsOfKind_2 != null; + for (ClassToTable c2t_3 : UNBOXED_objectsOfKind_2) { + if (c2t_3 != null) { + final @NonNull /*@NonInvalid*/ ClassToTable symbol_15 = (ClassToTable)c2t_3; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner = symbol_15.getOwner(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Schema schema = owner.getSchema(); + if (symbol_15 != null) { + if (owner != null) { + if (schema != null) { + classToTable_MR(symbol_15, owner, schema); + } + } + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_3 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Association, models[0/*uml*/], TYP_uml_c_c_Association_0); + final List UNBOXED_objectsOfKind_3 = objectsOfKind_3.asEcoreObjects(idResolver, Association.class); + assert UNBOXED_objectsOfKind_3 != null; + for (Association a_9 : UNBOXED_objectsOfKind_3) { + if (a_9 != null) { + final @NonNull /*@NonInvalid*/ Association symbol_21 = (Association)a_9; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class destination = symbol_21.getDestination(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class source_0 = symbol_21.getSource(); + final @Nullable /*@Thrown*/ ClassToTable middle_2 = ClassUtil.nonNullState (OPPOSITE_OF_ClassToTable_umlClass.get(source_0)); + final @Nullable /*@Thrown*/ ClassToTable middle_0 = ClassUtil.nonNullState (OPPOSITE_OF_ClassToTable_umlClass.get(destination)); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace_1 = symbol_21.getNamespace(); + if (middle_2 == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleUML2RDBMS\'::ClassToTable::owner\'"); + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner_1 = middle_2.getOwner(); + if (symbol_21 != null) { + if (destination != null) { + if (middle_0 != null) { + if (namespace_1 != null) { + if (owner_1 != null) { + if (source_0 != null) { + if (middle_2 != null) { + associationToForeignKey_LM(symbol_21, destination, middle_0, namespace_1, owner_1, source_0, middle_2); + } + } + } + } + } + } + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_4 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_AssociationToForeignKey, models[2/*middle*/], TYP_uml2rdbms_c_c_AssociationToForeignKey_0); + final List UNBOXED_objectsOfKind_4 = objectsOfKind_4.asEcoreObjects(idResolver, AssociationToForeignKey.class); + assert UNBOXED_objectsOfKind_4 != null; + for (AssociationToForeignKey a2f_1 : UNBOXED_objectsOfKind_4) { + if (a2f_1 != null) { + final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_rdbms_c_c_Key_0 = idResolver.getClass(CLSSid_Key, null); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_5 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Key, models[1/*rdbms*/], TYP_rdbms_c_c_Key_0); + final List UNBOXED_objectsOfKind_5 = objectsOfKind_5.asEcoreObjects(idResolver, Key.class); + assert UNBOXED_objectsOfKind_5 != null; + for (Key rk_1 : UNBOXED_objectsOfKind_5) { + if (rk_1 != null) { + final @NonNull /*@NonInvalid*/ AssociationToForeignKey symbol_32 = (AssociationToForeignKey)a2f_1; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ ClassToTable owner_5 = symbol_32.getOwner(); + final @Nullable /*@Thrown*/ ClassToTable referenced = symbol_32.getReferenced(); + final @Nullable /*@Thrown*/ Table table_1 = owner_5.getTable(); + if (referenced == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleUML2RDBMS\'::ClassToTable::table\'"); + } + final @Nullable /*@Thrown*/ Table table = referenced.getTable(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner_3 = owner_5.getOwner(); + final @NonNull /*@NonInvalid*/ Key symbol_36 = (Key)rk_1; + if (table_1 == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleRDBMS\'::Table::schema\'"); + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Schema schema_0 = table_1.getSchema(); + if (symbol_32 != null) { + if (referenced != null) { + if (table != null) { + if (owner_3 != null) { + if (symbol_36 != null) { + if (schema_0 != null) { + if (owner_5 != null) { + if (table_1 != null) { + associationToForeignKey_MR(symbol_32, referenced, table, owner_3, symbol_36, schema_0, owner_5, table_1); + } + } + } + } + } + } + } + } + } + } + } + } + for (PrimitiveDataType prim_5 : UNBOXED_objectsOfKind_7) { + if (prim_5 != null) { + final @NonNull /*@NonInvalid*/ PrimitiveDataType symbol_46 = (PrimitiveDataType)prim_5; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace_2 = symbol_46.getNamespace(); + final @NonNull /*@Thrown*/ PackageToSchema middle_3 = ClassUtil.nonNullState (OPPOSITE_OF_PackageToSchema_umlPackage.get(namespace_2)); + if (namespace_2 != null) { + if (middle_3 != null) { + if (symbol_46 != null) { + stringToVarchar_LM(namespace_2, middle_3, symbol_46); + } + } + } + } + } + for (PrimitiveDataType prim_6 : UNBOXED_objectsOfKind_7) { + if (prim_6 != null) { + final @NonNull /*@NonInvalid*/ PrimitiveDataType symbol_52 = (PrimitiveDataType)prim_6; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace_4 = symbol_52.getNamespace(); + final @NonNull /*@Thrown*/ PackageToSchema middle_4 = ClassUtil.nonNullState (OPPOSITE_OF_PackageToSchema_umlPackage.get(namespace_4)); + if (namespace_4 != null) { + if (middle_4 != null) { + if (symbol_52 != null) { + integerToNumber_LM(namespace_4, middle_4, symbol_52); + } + } + } + } + } + for (PrimitiveDataType prim_7 : UNBOXED_objectsOfKind_7) { + if (prim_7 != null) { + final @NonNull /*@NonInvalid*/ PrimitiveDataType symbol_58 = (PrimitiveDataType)prim_7; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Package namespace_6 = symbol_58.getNamespace(); + final @NonNull /*@Thrown*/ PackageToSchema middle_5 = ClassUtil.nonNullState (OPPOSITE_OF_PackageToSchema_umlPackage.get(namespace_6)); + if (namespace_6 != null) { + if (middle_5 != null) { + if (symbol_58 != null) { + booleanToBoolean_LM(namespace_6, middle_5, symbol_58); + } + } + } + } + } + for (Attribute a_10 : UNBOXED_select_0) { + if (a_10 != null) { + final @NonNull /*@NonInvalid*/ Attribute symbol_62 = (Attribute)a_10; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner_7 = symbol_62.getOwner(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type_1 = symbol_62.getType(); + final @Nullable /*@Thrown*/ ClassToTable middle_6 = ClassUtil.nonNullState (OPPOSITE_OF_ClassToTable_umlClass.get(owner_7)); + final @NonNull /*@Thrown*/ PrimitiveDataType oclAsType = ClassUtil.nonNullState((PrimitiveDataType)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, type_1, TYP_uml_c_c_PrimitiveDataType_2)); + final @NonNull /*@Thrown*/ PrimitiveToName middle_7 = ClassUtil.nonNullState (OPPOSITE_OF_PrimitiveToName_primitive.get(oclAsType)); + if (symbol_62 != null) { + if (owner_7 != null) { + if (middle_6 != null) { + if (middle_7 != null) { + if (type_1 instanceof PrimitiveDataType) { + classPrimitiveAttributes_LM(symbol_62, owner_7, middle_6, middle_7, (PrimitiveDataType)type_1); + } + } + } + } + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_10 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_IntegerToNumber, models[2/*middle*/], TYP_uml2rdbms_c_c_IntegerToNumber_0); + final List UNBOXED_objectsOfKind_10 = objectsOfKind_10.asEcoreObjects(idResolver, IntegerToNumber.class); + assert UNBOXED_objectsOfKind_10 != null; + for (IntegerToNumber p2n_11 : UNBOXED_objectsOfKind_10) { + if (p2n_11 != null) { + final @NonNull /*@NonInvalid*/ IntegerToNumber symbol_70 = (IntegerToNumber)p2n_11; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner_9 = symbol_70.getOwner(); + if (symbol_70 != null) { + if (owner_9 != null) { + integerToNumber_MR(symbol_70, owner_9); + } + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_11 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_BooleanToBoolean, models[2/*middle*/], TYP_uml2rdbms_c_c_BooleanToBoolean_0); + final List UNBOXED_objectsOfKind_11 = objectsOfKind_11.asEcoreObjects(idResolver, BooleanToBoolean.class); + assert UNBOXED_objectsOfKind_11 != null; + for (BooleanToBoolean p2n_12 : UNBOXED_objectsOfKind_11) { + if (p2n_12 != null) { + final @NonNull /*@NonInvalid*/ BooleanToBoolean symbol_75 = (BooleanToBoolean)p2n_12; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner_10 = symbol_75.getOwner(); + if (symbol_75 != null) { + if (owner_10 != null) { + booleanToBoolean_MR(symbol_75, owner_10); + } + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_12 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_StringToVarchar, models[2/*middle*/], TYP_uml2rdbms_c_c_StringToVarchar_0); + final List UNBOXED_objectsOfKind_12 = objectsOfKind_12.asEcoreObjects(idResolver, StringToVarchar.class); + assert UNBOXED_objectsOfKind_12 != null; + for (StringToVarchar p2n_13 : UNBOXED_objectsOfKind_12) { + if (p2n_13 != null) { + final @NonNull /*@NonInvalid*/ StringToVarchar symbol_80 = (StringToVarchar)p2n_13; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ PackageToSchema owner_11 = symbol_80.getOwner(); + if (symbol_80 != null) { + if (owner_11 != null) { + stringToVarchar_MR(symbol_80, owner_11); + } + } + } + } + for (Attribute a_11 : UNBOXED_objectsOfKind_13) { + if (a_11 != null) { + final @NonNull /*@NonInvalid*/ Attribute symbol_85 = (Attribute)a_11; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner_12 = symbol_85.getOwner(); + final @Nullable /*@Thrown*/ ClassToTable middle_8 = ClassUtil.nonNullState (OPPOSITE_OF_ClassToTable_umlClass.get(owner_12)); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type_2 = symbol_85.getType(); + if (symbol_85 != null) { + if (owner_12 != null) { + if (middle_8 != null) { + if (type_2 instanceof simpleuml2rdbms.uml.Class) { + classComplexAttributes_LM(symbol_85, owner_12, middle_8, (simpleuml2rdbms.uml.Class)type_2); + } + } + } + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_14 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_NonLeafAttribute, models[2/*middle*/], TYP_uml2rdbms_c_c_NonLeafAttribute_0); + final List UNBOXED_objectsOfKind_14 = objectsOfKind_14.asEcoreObjects(idResolver, NonLeafAttribute.class); + assert UNBOXED_objectsOfKind_14 != null; + for (NonLeafAttribute fao_7 : UNBOXED_objectsOfKind_14) { + if (fao_7 != null) { + for (Attribute a_12 : UNBOXED_objectsOfKind_13) { + if (a_12 != null) { + final @NonNull /*@NonInvalid*/ NonLeafAttribute symbol_96 = (NonLeafAttribute)fao_7; + final @NonNull /*@NonInvalid*/ Attribute symbol_93 = (Attribute)a_12; + final @Nullable /*@Thrown*/ Attribute attribute_0 = symbol_96.getAttribute(); + if (attribute_0 == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleUML\'::Attribute::type\'"); + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type_3 = attribute_0.getType(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type_4 = symbol_93.getType(); + if (symbol_93 != null) { + if (type_3 instanceof simpleuml2rdbms.uml.Class) { + if (attribute_0 != null) { + if (symbol_96 != null) { + if (type_4 instanceof simpleuml2rdbms.uml.Class) { + complexAttributeComplexAttributes_LM(symbol_93, (simpleuml2rdbms.uml.Class)type_3, attribute_0, symbol_96, (simpleuml2rdbms.uml.Class)type_4); + } + } + } + } + } + } + } + } + } + for (Attribute a_13 : UNBOXED_select_0) { + if (a_13 != null) { + for (Attribute ca_3 : UNBOXED_objectsOfKind_13) { + if (ca_3 != null) { + final @NonNull /*@NonInvalid*/ Attribute symbol_103 = (Attribute)a_13; + final @NonNull /*@NonInvalid*/ Attribute symbol_105 = (Attribute)ca_3; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ Classifier type_7 = symbol_103.getType(); + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner_14 = symbol_103.getOwner(); + final @Nullable /*@Thrown*/ FromAttribute middle_9 = ClassUtil.nonNullState (OPPOSITE_OF_FromAttribute_attribute.get(symbol_105)); + final @NonNull /*@Thrown*/ PrimitiveDataType oclAsType_0 = ClassUtil.nonNullState((PrimitiveDataType)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, type_7, TYP_uml_c_c_PrimitiveDataType_2)); + final @NonNull /*@Thrown*/ PrimitiveToName middle_10 = ClassUtil.nonNullState (OPPOSITE_OF_PrimitiveToName_primitive.get(oclAsType_0)); + if (symbol_103 != null) { + if (owner_14 != null) { + if (symbol_105 != null) { + if (middle_9 instanceof NonLeafAttribute) { + if (middle_10 != null) { + if (type_7 instanceof PrimitiveDataType) { + complexAttributePrimitiveAttributes_LM(symbol_103, owner_14, symbol_105, (NonLeafAttribute)middle_9, middle_10, (PrimitiveDataType)type_7); + } + } + } + } + } + } + } + } + } + } + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_18 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_AttributeToColumn, models[2/*middle*/], TYP_uml2rdbms_c_c_AttributeToColumn_0); + @NonNull /*@Thrown*/ SetValue.Accumulator accumulator_0 = ValueUtil.createSetAccumulatorValue(SET_CLSSid_AttributeToColumn); + @Nullable Iterator ITERATOR__1_1 = objectsOfKind_18.iterator(); + @NonNull /*@Thrown*/ SetValue select_1; + while (true) { + if (!ITERATOR__1_1.hasNext()) { + select_1 = accumulator_0; + break; + } + @Nullable /*@NonInvalid*/ AttributeToColumn _1_1 = (AttributeToColumn)ITERATOR__1_1.next(); + /** + * owner.oclIsKindOf(uml2rdbms::ClassToTable) + */ + if (_1_1 == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleUML2RDBMS\'::FromAttribute::owner\'"); + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ FromAttributeOwner owner_15 = _1_1.getOwner(); + final /*@Thrown*/ boolean oclIsKindOf_1 = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, owner_15, TYP_uml2rdbms_c_c_ClassToTable_0).booleanValue(); + // + if (oclIsKindOf_1 == ValueUtil.TRUE_VALUE) { + accumulator_0.add(_1_1); + } + } + final List UNBOXED_select_1 = select_1.asEcoreObjects(idResolver, AttributeToColumn.class); + assert UNBOXED_select_1 != null; + for (AttributeToColumn a2c_1 : UNBOXED_select_1) { + if (a2c_1 != null) { + final @NonNull /*@NonInvalid*/ AttributeToColumn symbol_113 = (AttributeToColumn)a2c_1; + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ FromAttributeOwner owner_16 = symbol_113.getOwner(); + final @Nullable /*@Thrown*/ PrimitiveToName type_9 = symbol_113.getType(); + if (type_9 == null) { + throw new InvalidValueException("Null source for \'\'http://www.eclipse.org/qvt/examples/0.1/SimpleUML2RDBMS\'::PrimitiveToName::typeName\'"); + } + @SuppressWarnings("null") + final @NonNull /*@Thrown*/ String typeName = type_9.getTypeName(); + final @NonNull /*@Thrown*/ ClassToTable oclAsType_1 = ClassUtil.nonNullState((ClassToTable)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, owner_16, TYP_uml2rdbms_c_c_ClassToTable_0)); + final @Nullable /*@Thrown*/ Table table_2 = oclAsType_1.getTable(); + if (symbol_113 != null) { + if (owner_16 instanceof ClassToTable) { + if (typeName != null) { + if (type_9 != null) { + if (table_2 != null) { + attributeColumns_MR(symbol_113, (ClassToTable)owner_16, typeName, type_9, table_2); + } + } + } + } + } + } + } + return true; + } +} diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/test/SimpleUML2RDBMS.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/test/SimpleUML2RDBMS.java index 92198e52f..6923b9c85 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/test/SimpleUML2RDBMS.java +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/cg/test/SimpleUML2RDBMS.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Map; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.ids.ClassId; import org.eclipse.ocl.pivot.ids.CollectionTypeId; import org.eclipse.ocl.pivot.ids.IdManager; @@ -192,8 +192,8 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor {13} // 13 : StringToVarchar -> {StringToVarchar} }; - public SimpleUML2RDBMS(final @NonNull Evaluator evaluator) { - super(evaluator, new String[] {"uml", "rdbms", "middle"}, null, classIndex2classId, classIndex2allClassIndexes); + public SimpleUML2RDBMS(final @NonNull Executor executor) { + super(executor, new String[] {"uml", "rdbms", "middle"}, null, classIndex2classId, classIndex2allClassIndexes); } public boolean run() { @@ -568,7 +568,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor */ protected boolean classToTable_MR(final @NonNull /*@NonInvalid*/ ClassToTable c2t, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_6, final @NonNull /*@NonInvalid*/ Schema s) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ PackageToSchema owner = c2t.getOwner(); final /*@Thrown*/ boolean eq = owner.equals(p2s_6); @@ -713,7 +713,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor */ protected boolean associationToForeignKey_MR(final @NonNull /*@NonInvalid*/ AssociationToForeignKey a2f, final @NonNull /*@NonInvalid*/ ClassToTable dc2t, final @NonNull /*@NonInvalid*/ Table dt, final @NonNull /*@NonInvalid*/ PackageToSchema p2s_8, final @NonNull /*@NonInvalid*/ Key rk, final @NonNull /*@NonInvalid*/ Schema s_0, final @NonNull /*@NonInvalid*/ ClassToTable sc2t, final @NonNull /*@NonInvalid*/ Table st) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ ClassToTable owner = a2f.getOwner(); final /*@Thrown*/ boolean eq = owner.equals(sc2t); @@ -1021,7 +1021,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor */ protected boolean classPrimitiveAttributes_LM(final @NonNull /*@NonInvalid*/ Attribute a_0, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class c_0, final @NonNull /*@NonInvalid*/ ClassToTable fao, final @NonNull /*@NonInvalid*/ PrimitiveToName p2n_2, final @NonNull /*@NonInvalid*/ PrimitiveDataType t) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner = a_0.getOwner(); final /*@Thrown*/ boolean eq = owner.equals(c_0); @@ -1098,7 +1098,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor */ protected boolean classComplexAttributes_LM(final @NonNull /*@NonInvalid*/ Attribute a_1, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class c_1, final @NonNull /*@NonInvalid*/ ClassToTable fao_0, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class t_0) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner = a_1.getOwner(); final /*@Thrown*/ boolean eq = owner.equals(c_1); @@ -1196,7 +1196,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor */ protected boolean complexAttributePrimitiveAttributes_LM(final @NonNull /*@NonInvalid*/ Attribute a_2, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class c_2, final @NonNull /*@NonInvalid*/ Attribute ca, final @NonNull /*@NonInvalid*/ NonLeafAttribute fao_1, final @NonNull /*@NonInvalid*/ PrimitiveToName p2n_3, final @NonNull /*@NonInvalid*/ PrimitiveDataType t_1) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner = a_2.getOwner(); final /*@Thrown*/ boolean eq = owner.equals(c_2); @@ -1286,7 +1286,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor */ protected boolean complexAttributeComplexAttributes_LM(final @NonNull /*@NonInvalid*/ Attribute a_3, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class c_3, final @NonNull /*@NonInvalid*/ Attribute ca_0, final @NonNull /*@NonInvalid*/ NonLeafAttribute fao_2, final @NonNull /*@NonInvalid*/ simpleuml2rdbms.uml.Class t_2) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); @SuppressWarnings("null") final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner = a_3.getOwner(); final /*@Thrown*/ boolean eq = owner.equals(c_3); @@ -1393,7 +1393,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor */ protected boolean attributeColumns_MR(final @NonNull /*@NonInvalid*/ AttributeToColumn a2c, final @NonNull /*@NonInvalid*/ ClassToTable c2t_0, final @NonNull /*@NonInvalid*/ String ct, final @NonNull /*@NonInvalid*/ PrimitiveToName p2n_4, final @NonNull /*@NonInvalid*/ Table t_3) { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @Nullable /*@Thrown*/ Table table = c2t_0.getTable(); final /*@Thrown*/ boolean eq = t_3.equals(table); if (!eq) { @@ -1629,7 +1629,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor */ protected boolean __root__() { // predicates - final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver(); + final @NonNull /*@NonInvalid*/ IdResolver idResolver = executor.getIdResolver(); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_AssociationToForeignKey_0 = idResolver.getClass(CLSSid_AssociationToForeignKey, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_AttributeToColumn_0 = idResolver.getClass(CLSSid_AttributeToColumn, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml2rdbms_c_c_BooleanToBoolean_0 = idResolver.getClass(CLSSid_BooleanToBoolean, null); @@ -1643,8 +1643,8 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml_c_c_Class_0 = idResolver.getClass(CLSSid_Class, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null); final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_uml_c_c_PrimitiveDataType_2 = idResolver.getClass(CLSSid_PrimitiveDataType, null); - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_13 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Attribute, models[0/*uml*/], TYP_uml_c_c_Attribute_1); - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_7 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PrimitiveDataType, models[0/*uml*/], TYP_uml_c_c_PrimitiveDataType_2); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_13 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Attribute, models[0/*uml*/], TYP_uml_c_c_Attribute_1); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_7 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_PrimitiveDataType, models[0/*uml*/], TYP_uml_c_c_PrimitiveDataType_2); final List UNBOXED_objectsOfKind_13 = objectsOfKind_13.asEcoreObjects(idResolver, Attribute.class); assert UNBOXED_objectsOfKind_13 != null; final List UNBOXED_objectsOfKind_7 = objectsOfKind_7.asEcoreObjects(idResolver, PrimitiveDataType.class); @@ -1666,7 +1666,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } @SuppressWarnings("null") final @NonNull /*@Thrown*/ Classifier type_5 = _1_0.getType(); - final /*@Thrown*/ boolean oclIsKindOf_0 = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(evaluator, type_5, TYP_uml_c_c_PrimitiveDataType_2).booleanValue(); + final /*@Thrown*/ boolean oclIsKindOf_0 = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, type_5, TYP_uml_c_c_PrimitiveDataType_2).booleanValue(); // if (oclIsKindOf_0 == ValueUtil.TRUE_VALUE) { accumulator.add(_1_0); @@ -1675,7 +1675,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor final List UNBOXED_select_0 = select_0.asEcoreObjects(idResolver, Attribute.class); assert UNBOXED_select_0 != null; // mapping statements - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Package, models[0/*uml*/], TYP_uml_c_c_Package_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Package, models[0/*uml*/], TYP_uml_c_c_Package_0); final List UNBOXED_objectsOfKind = objectsOfKind.asEcoreObjects(idResolver, Package.class); assert UNBOXED_objectsOfKind != null; for (Package p_11 : UNBOXED_objectsOfKind) { @@ -1686,7 +1686,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_0 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_PackageToSchema, models[2/*middle*/], TYP_uml2rdbms_c_c_PackageToSchema_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_0 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_PackageToSchema, models[2/*middle*/], TYP_uml2rdbms_c_c_PackageToSchema_0); final List UNBOXED_objectsOfKind_0 = objectsOfKind_0.asEcoreObjects(idResolver, PackageToSchema.class); assert UNBOXED_objectsOfKind_0 != null; for (PackageToSchema p2s_21 : UNBOXED_objectsOfKind_0) { @@ -1697,7 +1697,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_1 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Class, models[0/*uml*/], TYP_uml_c_c_Class_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_1 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Class, models[0/*uml*/], TYP_uml_c_c_Class_0); final List UNBOXED_objectsOfKind_1 = objectsOfKind_1.asEcoreObjects(idResolver, simpleuml2rdbms.uml.Class.class); assert UNBOXED_objectsOfKind_1 != null; for (simpleuml2rdbms.uml.Class c_9 : UNBOXED_objectsOfKind_1) { @@ -1715,7 +1715,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_2 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_ClassToTable, models[2/*middle*/], TYP_uml2rdbms_c_c_ClassToTable_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_2 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_ClassToTable, models[2/*middle*/], TYP_uml2rdbms_c_c_ClassToTable_0); final List UNBOXED_objectsOfKind_2 = objectsOfKind_2.asEcoreObjects(idResolver, ClassToTable.class); assert UNBOXED_objectsOfKind_2 != null; for (ClassToTable c2t_3 : UNBOXED_objectsOfKind_2) { @@ -1734,7 +1734,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_3 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Association, models[0/*uml*/], TYP_uml_c_c_Association_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_3 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Association, models[0/*uml*/], TYP_uml_c_c_Association_0); final List UNBOXED_objectsOfKind_3 = objectsOfKind_3.asEcoreObjects(idResolver, Association.class); assert UNBOXED_objectsOfKind_3 != null; for (Association a_9 : UNBOXED_objectsOfKind_3) { @@ -1770,13 +1770,13 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_4 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_AssociationToForeignKey, models[2/*middle*/], TYP_uml2rdbms_c_c_AssociationToForeignKey_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_4 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_AssociationToForeignKey, models[2/*middle*/], TYP_uml2rdbms_c_c_AssociationToForeignKey_0); final List UNBOXED_objectsOfKind_4 = objectsOfKind_4.asEcoreObjects(idResolver, AssociationToForeignKey.class); assert UNBOXED_objectsOfKind_4 != null; for (AssociationToForeignKey a2f_1 : UNBOXED_objectsOfKind_4) { if (a2f_1 != null) { final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_rdbms_c_c_Key_0 = idResolver.getClass(CLSSid_Key, null); - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_5 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_Key, models[1/*rdbms*/], TYP_rdbms_c_c_Key_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_5 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_Key, models[1/*rdbms*/], TYP_rdbms_c_c_Key_0); final List UNBOXED_objectsOfKind_5 = objectsOfKind_5.asEcoreObjects(idResolver, Key.class); assert UNBOXED_objectsOfKind_5 != null; for (Key rk_1 : UNBOXED_objectsOfKind_5) { @@ -1872,7 +1872,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor @SuppressWarnings("null") final @NonNull /*@Thrown*/ Classifier type_1 = symbol_62.getType(); final @Nullable /*@Thrown*/ ClassToTable middle_6 = ClassUtil.nonNullState (OPPOSITE_OF_ClassToTable_umlClass.get(owner_7)); - final @NonNull /*@Thrown*/ PrimitiveDataType oclAsType = ClassUtil.nonNullState((PrimitiveDataType)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, type_1, TYP_uml_c_c_PrimitiveDataType_2)); + final @NonNull /*@Thrown*/ PrimitiveDataType oclAsType = ClassUtil.nonNullState((PrimitiveDataType)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, type_1, TYP_uml_c_c_PrimitiveDataType_2)); final @NonNull /*@Thrown*/ PrimitiveToName middle_7 = ClassUtil.nonNullState (OPPOSITE_OF_PrimitiveToName_primitive.get(oclAsType)); if (symbol_62 != null) { if (owner_7 != null) { @@ -1887,7 +1887,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_10 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_IntegerToNumber, models[2/*middle*/], TYP_uml2rdbms_c_c_IntegerToNumber_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_10 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_IntegerToNumber, models[2/*middle*/], TYP_uml2rdbms_c_c_IntegerToNumber_0); final List UNBOXED_objectsOfKind_10 = objectsOfKind_10.asEcoreObjects(idResolver, IntegerToNumber.class); assert UNBOXED_objectsOfKind_10 != null; for (IntegerToNumber p2n_11 : UNBOXED_objectsOfKind_10) { @@ -1902,7 +1902,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_11 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_BooleanToBoolean, models[2/*middle*/], TYP_uml2rdbms_c_c_BooleanToBoolean_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_11 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_BooleanToBoolean, models[2/*middle*/], TYP_uml2rdbms_c_c_BooleanToBoolean_0); final List UNBOXED_objectsOfKind_11 = objectsOfKind_11.asEcoreObjects(idResolver, BooleanToBoolean.class); assert UNBOXED_objectsOfKind_11 != null; for (BooleanToBoolean p2n_12 : UNBOXED_objectsOfKind_11) { @@ -1917,7 +1917,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_12 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_StringToVarchar, models[2/*middle*/], TYP_uml2rdbms_c_c_StringToVarchar_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_12 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_StringToVarchar, models[2/*middle*/], TYP_uml2rdbms_c_c_StringToVarchar_0); final List UNBOXED_objectsOfKind_12 = objectsOfKind_12.asEcoreObjects(idResolver, StringToVarchar.class); assert UNBOXED_objectsOfKind_12 != null; for (StringToVarchar p2n_13 : UNBOXED_objectsOfKind_12) { @@ -1951,7 +1951,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_14 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_NonLeafAttribute, models[2/*middle*/], TYP_uml2rdbms_c_c_NonLeafAttribute_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_14 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_NonLeafAttribute, models[2/*middle*/], TYP_uml2rdbms_c_c_NonLeafAttribute_0); final List UNBOXED_objectsOfKind_14 = objectsOfKind_14.asEcoreObjects(idResolver, NonLeafAttribute.class); assert UNBOXED_objectsOfKind_14 != null; for (NonLeafAttribute fao_7 : UNBOXED_objectsOfKind_14) { @@ -1994,7 +1994,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor @SuppressWarnings("null") final @NonNull /*@Thrown*/ simpleuml2rdbms.uml.Class owner_14 = symbol_103.getOwner(); final @Nullable /*@Thrown*/ FromAttribute middle_9 = ClassUtil.nonNullState (OPPOSITE_OF_FromAttribute_attribute.get(symbol_105)); - final @NonNull /*@Thrown*/ PrimitiveDataType oclAsType_0 = ClassUtil.nonNullState((PrimitiveDataType)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, type_7, TYP_uml_c_c_PrimitiveDataType_2)); + final @NonNull /*@Thrown*/ PrimitiveDataType oclAsType_0 = ClassUtil.nonNullState((PrimitiveDataType)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, type_7, TYP_uml_c_c_PrimitiveDataType_2)); final @NonNull /*@Thrown*/ PrimitiveToName middle_10 = ClassUtil.nonNullState (OPPOSITE_OF_PrimitiveToName_primitive.get(oclAsType_0)); if (symbol_103 != null) { if (owner_14 != null) { @@ -2013,7 +2013,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } } } - final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_18 = ModelObjectsOfKindOperation.INSTANCE.evaluate(evaluator, SET_CLSSid_AttributeToColumn, models[2/*middle*/], TYP_uml2rdbms_c_c_AttributeToColumn_0); + final @NonNull /*@NonInvalid*/ SetValue objectsOfKind_18 = ModelObjectsOfKindOperation.INSTANCE.evaluate(executor, SET_CLSSid_AttributeToColumn, models[2/*middle*/], TYP_uml2rdbms_c_c_AttributeToColumn_0); @NonNull /*@Thrown*/ SetValue.Accumulator accumulator_0 = ValueUtil.createSetAccumulatorValue(SET_CLSSid_AttributeToColumn); @Nullable Iterator ITERATOR__1_1 = objectsOfKind_18.iterator(); @NonNull /*@Thrown*/ SetValue select_1; @@ -2031,7 +2031,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } @SuppressWarnings("null") final @NonNull /*@Thrown*/ FromAttributeOwner owner_15 = _1_1.getOwner(); - final /*@Thrown*/ boolean oclIsKindOf_1 = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(evaluator, owner_15, TYP_uml2rdbms_c_c_ClassToTable_0).booleanValue(); + final /*@Thrown*/ boolean oclIsKindOf_1 = OclAnyOclIsKindOfOperation.INSTANCE.evaluate(executor, owner_15, TYP_uml2rdbms_c_c_ClassToTable_0).booleanValue(); // if (oclIsKindOf_1 == ValueUtil.TRUE_VALUE) { accumulator_0.add(_1_1); @@ -2050,7 +2050,7 @@ public class SimpleUML2RDBMS extends AbstractTransformationExecutor } @SuppressWarnings("null") final @NonNull /*@Thrown*/ String typeName = type_9.getTypeName(); - final @NonNull /*@Thrown*/ ClassToTable oclAsType_1 = ClassUtil.nonNullState((ClassToTable)OclAnyOclAsTypeOperation.INSTANCE.evaluate(evaluator, owner_16, TYP_uml2rdbms_c_c_ClassToTable_0)); + final @NonNull /*@Thrown*/ ClassToTable oclAsType_1 = ClassUtil.nonNullState((ClassToTable)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, owner_16, TYP_uml2rdbms_c_c_ClassToTable_0)); final @Nullable /*@Thrown*/ Table table_2 = oclAsType_1.getTable(); if (symbol_113 != null) { if (owner_16 instanceof ClassToTable) { diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiCompilerTests.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiCompilerTests.java index 8628280a6..6da059813 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiCompilerTests.java +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiCompilerTests.java @@ -28,7 +28,7 @@ import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.examples.codegen.dynamic.OCL2JavaFileObject; import org.eclipse.ocl.examples.xtext.tests.TestUtil; import org.eclipse.ocl.pivot.CompleteEnvironment; -import org.eclipse.ocl.pivot.evaluation.Evaluator; +import org.eclipse.ocl.pivot.evaluation.Executor; import org.eclipse.ocl.pivot.internal.manager.MetamodelManagerInternal; import org.eclipse.ocl.pivot.internal.utilities.OCLInternal; import org.eclipse.ocl.pivot.internal.validation.PivotEObjectValidator; @@ -162,9 +162,9 @@ public class QVTiCompilerTests extends LoadTestCase Transformation asTransformation = loadTransformation(myQVT, transformURI, genModelURI); assert asTransformation != null; Class txClass = generateCode(myQVT, asTransformation, "../org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/"); - Constructor txConstructor = ClassUtil.nonNullState(txClass.getConstructor(Evaluator.class)); - TxEvaluator evaluator = myQVT.createEvaluator(txConstructor); - TransformationExecutor tx = evaluator.getTransformationExecutor(); + Constructor txConstructor = ClassUtil.nonNullState(txClass.getConstructor(Executor.class)); + TxEvaluator executor = myQVT.createEvaluator(txConstructor); + TransformationExecutor tx = executor.getTransformationExecutor(); Resource inputResource = resourceSet.getResource(inputModelURI, true); tx.addRootObjects("hsv", ClassUtil.nonNullState(inputResource.getContents())); tx.run(); @@ -205,9 +205,9 @@ public class QVTiCompilerTests extends LoadTestCase assert asTransformation != null; Class txClass = generateCode(myQVT, asTransformation, "../org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/"); - Constructor txConstructor = ClassUtil.nonNullState(txClass.getConstructor(Evaluator.class)); - TxEvaluator evaluator = myQVT.createEvaluator(txConstructor); - TransformationExecutor tx = evaluator.getTransformationExecutor(); + Constructor txConstructor = ClassUtil.nonNullState(txClass.getConstructor(Executor.class)); + TxEvaluator executor = myQVT.createEvaluator(txConstructor); + TransformationExecutor tx = executor.getTransformationExecutor(); Resource inputResource = resourceSet.getResource(inputModelURI, true); tx.addRootObjects("leftCS", ClassUtil.nonNullState(inputResource.getContents())); tx.run(); @@ -234,9 +234,9 @@ public class QVTiCompilerTests extends LoadTestCase Transformation asTransformation = loadTransformation(myQVT, transformURI, genModelURI); assert asTransformation != null; Class txClass = generateCode(myQVT, asTransformation, "../org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/"); - Constructor txConstructor = ClassUtil.nonNullState(txClass.getConstructor(Evaluator.class)); - TransformationEvaluator evaluator = myQVT.createEvaluator(txConstructor); - TransformationExecutor tx = evaluator.getTransformationExecutor(); + Constructor txConstructor = ClassUtil.nonNullState(txClass.getConstructor(Executor.class)); + TransformationEvaluator executor = myQVT.createEvaluator(txConstructor); + TransformationExecutor tx = executor.getTransformationExecutor(); Resource inputResource = resourceSet.getResource(inputModelURI, true); tx.addRootObjects("uml", ClassUtil.nonNullState(inputResource.getContents())); tx.run(); @@ -265,9 +265,9 @@ public class QVTiCompilerTests extends LoadTestCase Transformation asTransformation = loadTransformation(myQVT, transformURI, genModelURI); assert asTransformation != null; Class txClass = generateCode(myQVT, asTransformation, "../org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/"); - Constructor txConstructor = ClassUtil.nonNullState(txClass.getConstructor(Evaluator.class)); - TransformationEvaluator evaluator = myQVT.createEvaluator(txConstructor); - TransformationExecutor tx = evaluator.getTransformationExecutor(); + Constructor txConstructor = ClassUtil.nonNullState(txClass.getConstructor(Executor.class)); + TransformationEvaluator executor = myQVT.createEvaluator(txConstructor); + TransformationExecutor tx = executor.getTransformationExecutor(); Resource inputResource = resourceSet.getResource(inputModelURI, true); tx.addRootObjects("uml", ClassUtil.nonNullState(inputResource.getContents())); tx.run(); @@ -301,8 +301,8 @@ public class QVTiCompilerTests extends LoadTestCase assert asTransformation != null; Class txClass = generateCode(myQVT, asTransformation, "../org.eclipse.qvtd.xtext.qvtimperative.tests/src-gen/"); Constructor txConstructor = ClassUtil.nonNullState(txClass.getConstructor(Evaluator.class)); - TransformationEvaluator evaluator = myQVT.createEvaluator(txConstructor); - TransformationExecutor tx = evaluator.getTransformationExecutor(); + TransformationEvaluator executor = myQVT.createEvaluator(txConstructor); + TransformationExecutor tx = executor.getTransformationExecutor(); Resource inputResource = resourceSet.getResource(inputModelURI, true); tx.addRootObjects("uml", ClassUtil.nonNullState(inputResource.getContents())); tx.run(); diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/SimpleUML2RDBMS/SimpleUML2RDBMS.qvti b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/SimpleUML2RDBMS/SimpleUML2RDBMS.qvti index 2e3985d17..46fb00dfd 100644 --- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/SimpleUML2RDBMS/SimpleUML2RDBMS.qvti +++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/SimpleUML2RDBMS/SimpleUML2RDBMS.qvti @@ -2,14 +2,14 @@ import simplerdbms : 'SimpleRDBMS.ecore#/'; import simpleuml : 'SimpleUML.ecore#/'; import umltordbms : 'SimpleUML2RDBMS.ecore#/'; -transformation test::SimpleUML2RDBMS +transformation simpleUML2RDBMS::SimpleUML2RDBMS { uml imports simpleuml; rdbms imports simplerdbms; middle imports umltordbms; } -map packageToSchema_LM in test::SimpleUML2RDBMS +map packageToSchema_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(p : Package) {} enforce middle() { @@ -21,7 +21,7 @@ map packageToSchema_LM in test::SimpleUML2RDBMS } } -map packageToSchema_MR in test::SimpleUML2RDBMS +map packageToSchema_MR in simpleUML2RDBMS::SimpleUML2RDBMS { enforce rdbms() { realize s : Schema @@ -33,7 +33,7 @@ map packageToSchema_MR in test::SimpleUML2RDBMS } } -map integerToNumber_LM in test::SimpleUML2RDBMS +map integerToNumber_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(p : Package, prim : PrimitiveDataType) {} @@ -49,7 +49,7 @@ map integerToNumber_LM in test::SimpleUML2RDBMS } } -map integerToNumber_MR in test::SimpleUML2RDBMS +map integerToNumber_MR in simpleUML2RDBMS::SimpleUML2RDBMS { enforce rdbms() {} check middle(p2s : PackageToSchema, @@ -61,7 +61,7 @@ map integerToNumber_MR in test::SimpleUML2RDBMS } } -map booleanToBoolean_MR in test::SimpleUML2RDBMS +map booleanToBoolean_MR in simpleUML2RDBMS::SimpleUML2RDBMS { enforce rdbms() {} check middle(p2s : PackageToSchema, @@ -74,7 +74,7 @@ map booleanToBoolean_MR in test::SimpleUML2RDBMS } } -map booleanToBoolean_LM in test::SimpleUML2RDBMS +map booleanToBoolean_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(p : Package, prim : PrimitiveDataType) {} @@ -90,7 +90,7 @@ map booleanToBoolean_LM in test::SimpleUML2RDBMS } } -map stringToVarchar_MR in test::SimpleUML2RDBMS +map stringToVarchar_MR in simpleUML2RDBMS::SimpleUML2RDBMS { enforce rdbms() {} check middle(p2s : PackageToSchema, @@ -102,7 +102,7 @@ map stringToVarchar_MR in test::SimpleUML2RDBMS } } -map stringToVarchar_LM in test::SimpleUML2RDBMS +map stringToVarchar_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(p : Package, prim : PrimitiveDataType) {} @@ -118,7 +118,7 @@ map stringToVarchar_LM in test::SimpleUML2RDBMS } } -map classToTable_MR in test::SimpleUML2RDBMS +map classToTable_MR in simpleUML2RDBMS::SimpleUML2RDBMS { enforce rdbms(s : Schema) { realize t : Table, @@ -146,7 +146,7 @@ map classToTable_MR in test::SimpleUML2RDBMS } } -map classToTable_LM in test::SimpleUML2RDBMS +map classToTable_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(p : Package, c : Class) {} @@ -162,7 +162,7 @@ map classToTable_LM in test::SimpleUML2RDBMS } } -map associationToForeignKey_MR in test::SimpleUML2RDBMS +map associationToForeignKey_MR in simpleUML2RDBMS::SimpleUML2RDBMS { enforce rdbms(s : Schema, st : Table, @@ -196,7 +196,7 @@ map associationToForeignKey_MR in test::SimpleUML2RDBMS } } -map associationToForeignKey_LM in test::SimpleUML2RDBMS +map associationToForeignKey_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(p : Package, sc : Class, @@ -237,7 +237,7 @@ map associationToForeignKey_LM in test::SimpleUML2RDBMS } } -map classPrimitiveAttributes_LM in test::SimpleUML2RDBMS +map classPrimitiveAttributes_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(t : PrimitiveDataType, c : Class, @@ -262,7 +262,7 @@ map classPrimitiveAttributes_LM in test::SimpleUML2RDBMS } } -map classComplexAttributes_LM in test::SimpleUML2RDBMS +map classComplexAttributes_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(t : Class, c : Class, @@ -283,7 +283,7 @@ map classComplexAttributes_LM in test::SimpleUML2RDBMS } } -map complexAttributePrimitiveAttributes_LM in test::SimpleUML2RDBMS +map complexAttributePrimitiveAttributes_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(ca : Attribute, c : Class, @@ -311,7 +311,7 @@ map complexAttributePrimitiveAttributes_LM in test::SimpleUML2RDBMS } } -map complexAttributeComplexAttributes_LM in test::SimpleUML2RDBMS +map complexAttributeComplexAttributes_LM in simpleUML2RDBMS::SimpleUML2RDBMS { check uml(ca : Attribute, c : Class, @@ -336,7 +336,7 @@ map complexAttributeComplexAttributes_LM in test::SimpleUML2RDBMS } } -map attributeColumns_MR in test::SimpleUML2RDBMS +map attributeColumns_MR in simpleUML2RDBMS::SimpleUML2RDBMS { enforce rdbms(t : Table, ct : String) { @@ -358,7 +358,7 @@ map attributeColumns_MR in test::SimpleUML2RDBMS } } -map __root__ in test::SimpleUML2RDBMS +map __root__ in simpleUML2RDBMS::SimpleUML2RDBMS { where () {} for p : simpleuml::Package in uml.objectsOfKind(Package) { -- cgit v1.2.3