Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo SBH2016-02-02 14:28:45 +0000
committerEd Willink2016-02-03 14:55:42 +0000
commitacff9ebb75ea12381ecdb762e2c1221715acec22 (patch)
treea664cd7acd03a1e568282b2a81b855a3c2ca3ce0
parent1752b04277aa77c8dd0f9ae0a88bed8f32664521 (diff)
downloadorg.eclipse.qvtd-acff9ebb75ea12381ecdb762e2c1221715acec22.tar.gz
org.eclipse.qvtd-acff9ebb75ea12381ecdb762e2c1221715acec22.tar.xz
org.eclipse.qvtd-acff9ebb75ea12381ecdb762e2c1221715acec22.zip
[cs2as] - Make the OCL2QVTiCGed Tx compiler use the new scheduler 0.13.0M5
- Some cleanup
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.build/src/org/eclipse/qvtd/cs2as/build/mwe/GenerateCGedQVTiTransformation.java2
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/OCL2QVTiCGTxCompiler.java52
-rw-r--r--plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/OCL2QVTiBroker.java214
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/META-INF/MANIFEST.MF17
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/ExecutionBenchmarks.java16
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java20
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/common/LookupResult.java17
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/common/LookupResultImpl.java34
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/.gitignore1
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/.gitignore6
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_SimplerKiama_qvtp_qvtcas/.gitignore1
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2TargetBase_qvtp_qvtcas/.gitignore1
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2TargetDerived_qvtp_qvtcas/.gitignore1
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2Target_qvtp_qvtcas/.gitignore1
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2asV2_qvtp_qvtcas/.gitignore1
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtcas/.gitignore1
-rw-r--r--tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtcas/classescs2as_qvtp_qvtcas.java (renamed from tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtias/classescs2as_qvtp_qvtias.java)727
17 files changed, 482 insertions, 630 deletions
diff --git a/plugins/org.eclipse.qvtd.cs2as.build/src/org/eclipse/qvtd/cs2as/build/mwe/GenerateCGedQVTiTransformation.java b/plugins/org.eclipse.qvtd.cs2as.build/src/org/eclipse/qvtd/cs2as/build/mwe/GenerateCGedQVTiTransformation.java
index 910505657..ae1993f6a 100644
--- a/plugins/org.eclipse.qvtd.cs2as.build/src/org/eclipse/qvtd/cs2as/build/mwe/GenerateCGedQVTiTransformation.java
+++ b/plugins/org.eclipse.qvtd.cs2as.build/src/org/eclipse/qvtd/cs2as/build/mwe/GenerateCGedQVTiTransformation.java
@@ -20,11 +20,11 @@ import org.eclipse.emf.mwe.core.issues.Issues;
import org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent;
import org.eclipse.emf.mwe.core.monitor.ProgressMonitor;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.utilities.XMIUtil;
import org.eclipse.qvtd.cs2as.compiler.CS2ASJavaCompilerParameters;
import org.eclipse.qvtd.cs2as.compiler.OCL2QVTiCGTxCompiler;
import org.eclipse.qvtd.cs2as.compiler.internal.CS2ASJavaCompilerParametersImpl;
-
public class GenerateCGedQVTiTransformation extends AbstractWorkflowComponent
{
private final static @NonNull String BACKSLASH = "/";
diff --git a/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/OCL2QVTiCGTxCompiler.java b/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/OCL2QVTiCGTxCompiler.java
index d93408235..022ea8c36 100644
--- a/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/OCL2QVTiCGTxCompiler.java
+++ b/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/OCL2QVTiCGTxCompiler.java
@@ -11,6 +11,8 @@
package org.eclipse.qvtd.cs2as.compiler;
+import java.util.HashMap;
+import java.util.Map;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.ResourceSet;
@@ -18,11 +20,13 @@ import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.evaluation.tx.Transformer;
import org.eclipse.ocl.pivot.resource.BasicProjectManager;
-import org.eclipse.ocl.pivot.utilities.OCL;
+import org.eclipse.ocl.pivot.utilities.XMIUtil;
import org.eclipse.ocl.xtext.completeocl.CompleteOCLStandaloneSetup;
-import org.eclipse.qvtd.compiler.internal.etl.PivotModel;
+import org.eclipse.qvtd.compiler.CompilerChain.Key;
import org.eclipse.qvtd.cs2as.compiler.internal.CS2ASJavaCompilerImpl;
-import org.eclipse.qvtd.cs2as.compiler.internal.OCL2QVTiBroker;
+import org.eclipse.qvtd.cs2as.compiler.internal.OCL2QVTiCompilerChain;
+import org.eclipse.qvtd.pivot.qvtbase.Transformation;
+import org.eclipse.qvtd.pivot.qvtcore.QVTcorePivotStandaloneSetup;
import org.eclipse.qvtd.pivot.qvtimperative.utilities.QVTimperative;
import org.eclipse.qvtd.xtext.qvtimperative.QVTimperativeStandaloneSetup;
@@ -31,6 +35,7 @@ public class OCL2QVTiCGTxCompiler implements OCL2JavaTxCompiler<CS2ASJavaCompile
static {
CompleteOCLStandaloneSetup.doSetup();
QVTimperativeStandaloneSetup.doSetup();
+ QVTcorePivotStandaloneSetup.doSetup();
}
@Override
@@ -41,33 +46,38 @@ public class OCL2QVTiCGTxCompiler implements OCL2JavaTxCompiler<CS2ASJavaCompile
@Override
public Class<? extends Transformer> compileTransformation(@NonNull URI oclDocURI, @NonNull CS2ASJavaCompilerParameters params, @Nullable ResourceSet rSet, @NonNull String tracePropertyName) throws Exception {
+ return this.compileTransformation(rSet, params, tracePropertyName, oclDocURI);
+ }
+
+ public Class<? extends Transformer> compileTransformation(@Nullable ResourceSet rSet, @NonNull CS2ASJavaCompilerParameters params, @NonNull String tracePropertyName, @NonNull URI oclDocURI, URI... extendedOCLDocURIs)
+ throws Exception {
QVTimperative qvt = QVTimperative.newInstance(BasicProjectManager.CLASS_PATH, rSet);
try {
- PivotModel qvtiTransf = executeOCL2QVTi_MTC(qvt, oclDocURI.trimSegments(1), oclDocURI.lastSegment(), tracePropertyName);
- return createCompiler().compileTransformation(qvt, qvtiTransf.getTransformation(), (CS2ASJavaCompilerParameters) params);
+ Transformation qvtiTransf = executeOCL2QVTi_CompilerChain(qvt, tracePropertyName, oclDocURI, extendedOCLDocURIs);
+ return createCompiler().compileTransformation(qvt, qvtiTransf, (CS2ASJavaCompilerParameters) params);
} finally {
- qvt.dispose();
+ qvt.dispose();
}
}
protected CS2ASJavaCompilerImpl createCompiler() {
return new CS2ASJavaCompilerImpl();
}
-
- /**
- * @param ocl
- * @param baseURI
- * @param oclDocName
- * @param tracePropName the name of the CS2AS traceability property
- * @return the {@link PivotModel} corresponding to the final QVTi transformation
- * @throws Exception
- */
- protected PivotModel executeOCL2QVTi_MTC(OCL ocl, URI baseURI, String oclDocName, String tracePropName) throws Exception {
-
- // FIXME Map<?, ?> savingOptions = this.savingOptions == null ? XMIUtil.createSaveOptions() : this.savingOptions;
- OCL2QVTiBroker mtc = new OCL2QVTiBroker(baseURI, oclDocName, ocl, null, true, tracePropName);
- mtc.execute();
- return mtc.getiModel();
+
+ protected Transformation executeOCL2QVTi_CompilerChain(QVTimperative qvt, String tracePropName, URI oclDocURI, URI... extendedOCLDocURIs) throws Exception {
+
+ Map<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>> options = new HashMap<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>>();
+ // OCL2QVTp options
+ @NonNull Map<@NonNull Key<?>, @Nullable Object> ocl2qvtpOptions = new HashMap<@NonNull Key<?>, @Nullable Object>();
+ ocl2qvtpOptions.put(OCL2QVTiCompilerChain.TRACE_PROPERTY_NAME_KEY, tracePropName);
+ // Default options
+ @NonNull Map<@NonNull Key<?>, @Nullable Object> defStepOptions = new HashMap<@NonNull Key<?>, @Nullable Object>();
+ defStepOptions.put(OCL2QVTiCompilerChain.SAVE_OPTIONS_KEY, XMIUtil.createSaveOptions()); // FIXME parametrize save options ?
+ options.put(OCL2QVTiCompilerChain.DEFAULT_STEP, defStepOptions);
+ options.put(OCL2QVTiCompilerChain.QVTP_STEP, ocl2qvtpOptions);
+
+ OCL2QVTiCompilerChain compilerChain = new OCL2QVTiCompilerChain(qvt, options, oclDocURI, extendedOCLDocURIs);
+ return compilerChain.compile();
}
}
diff --git a/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/OCL2QVTiBroker.java b/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/OCL2QVTiBroker.java
deleted file mode 100644
index b3b44e012..000000000
--- a/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/OCL2QVTiBroker.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014, 2015 Willink Transformations Ltd., University of York 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:
- * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.qvtd.cs2as.compiler.internal;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.ocl.pivot.utilities.OCL;
-import org.eclipse.qvtd.compiler.internal.etl.EtlTask;
-import org.eclipse.qvtd.compiler.internal.etl.MtcBroker;
-import org.eclipse.qvtd.compiler.internal.etl.PivotModel;
-import org.eclipse.qvtd.compiler.internal.etl.QvtMtcExecutionException;
-
-/**
- * This is a quick extension of the MtcBroker, to exercise the OCL2QVTi code in test cases
- *
- * @author asbh500
- *
- */
-public class OCL2QVTiBroker extends MtcBroker {
-
- private static final String OCL2QVTP_MIDDLE_MODEL = "etl/ocl2qvtp.etl";
-
- private static final String OCL2QVTP_MIDDLE_FOLDED = "etl/ocl2qvtp_v2.etl";
-
- private static final String OCLSTDLIB_URI = "http://www.eclipse.org/ocl/2015/Library.oclas";
-
- private static final String ECORE_URI = "http://www.eclipse.org/emf/2002/Ecore";
-
- private static final String PIVOT_URI = "http://www.eclipse.org/ocl/2015/Pivot";
-
- private static final String QVTB_URI ="http://www.eclipse.org/qvt/2015/QVTbase";
-
- private static final String QVTCB_URI = "http://www.eclipse.org/qvt/2015/QVTcoreBase";
-
- private static final String QVTI_URI = "http://www.eclipse.org/qvt/2015/QVTimperative";
-
- private static final String QVTI_FULL_NS = QVTI_URI + ',' + QVTCB_URI + ',' + QVTB_URI + ',' + PIVOT_URI;
-
- private static final String TRACES_FULL_NS = PIVOT_URI + ',' + ECORE_URI;
-
- private @NonNull List<URI> oclASUris = new ArrayList<URI>();
- private @Nullable List<URI> tracesASUris = new ArrayList<URI>();
- private @Nullable List<URI> qvtpUris = new ArrayList<URI>();
- private @NonNull PivotModelUtil pmUtil;
- private @Nullable String traceabilityPropName;
-
- /**
- * @param baseURI the base {@link URI} on which the OCL document resides
- * @param oclDocName the name of the OCL document (e.g myCS2AS.ocl)
- * @param ocl an {@link OCL} instance to parse the OCL document
- * @param savingOptions some optional savingOptions
- * @throws Exception
- */
- public OCL2QVTiBroker(@NonNull URI baseURI, @NonNull String oclDocName, @NonNull OCL ocl, @Nullable Map<?, ?> savingOptions )
- throws Exception {
- this(baseURI, Collections.singletonList(oclDocName), ocl, savingOptions);
- }
-
- /**
- * @param baseURI the base {@link URI} on which the OCL document resides
- * @param oclDocName the name of the OCL document (e.g myCS2AS.ocl)
- * @param ocl an {@link OCL} instance to parse the OCL document
- * @param savingOptions some optional savingOptions
- * @param usesMiddleFoldedInInputs true if the generated QVTp transformation should use middle folded in inputs approach
- * @param traceabilityPropName the name of the traceability property of CS elements (when using middleFoldedInInputs)
- * @throws Exception
- */
- public OCL2QVTiBroker(@NonNull URI baseURI, @NonNull String oclDocName, @NonNull OCL ocl, @Nullable Map<?, ?> savingOptions,
- boolean usesMiddleFoldedInInputs, @Nullable String traceabilityPropName)
- throws Exception {
-
- this(baseURI, Collections.singletonList(oclDocName), ocl, savingOptions, usesMiddleFoldedInInputs, traceabilityPropName);
-
- }
-
-
- public OCL2QVTiBroker(@NonNull URI baseURI, @NonNull List<String> oclDocs, @NonNull OCL ocl, @Nullable Map<?, ?> savingOptions )
- throws Exception {
- this(baseURI, oclDocs, ocl, savingOptions, true, "ast");
- }
- public OCL2QVTiBroker(@NonNull URI baseURI, @NonNull List<String> oclDocs, @NonNull OCL ocl, @Nullable Map<?, ?> savingOptions,
- boolean usesMiddleFoldedInInputs, @Nullable String traceabilityPropName)
- throws Exception {
-
- super(baseURI, oclDocs.get(0), ocl.getEnvironmentFactory(), savingOptions);
- this.pmUtil = new PivotModelUtil( ocl.getEnvironmentFactory());
- for (String oclDocName : oclDocs) {
- URI oclDocUri = baseURI.appendSegment(oclDocName);
- URI oclASUri = ocl.parse(oclDocUri).getURI();
- URI modelsBaseURI = oclASUri.trimFileExtension().trimFileExtension();
- this.oclASUris.add(oclASUri);
- this.qvtpUris.add(modelsBaseURI.appendFileExtension("qvtp.qvtias"));
- if (!usesMiddleFoldedInInputs) {
- this.tracesASUris.add(modelsBaseURI.appendFileExtension("ecore.oclas"));
- }
- }
- this.traceabilityPropName = traceabilityPropName;
- }
- @Override
- public void execute() throws QvtMtcExecutionException {
-
- pModel = prepareQVTpModel();
-
- prepare();
- sModel = qvtpToQvts(pModel);
- qvtpFlatScheduling(pModel, sModel);
- // qvtpNestingScheduling(pModel, sModel);
- if (createGraphml) {
- qvtsToGraphML(sModel);
- }
- iModel = qvtpQvtsToQvti(pModel, sModel);
- }
-
-
- public Resource newExecute() throws QvtMtcExecutionException {
- pModel = prepareQVTpModel();
-
- prepare();
- try {
- iResource = qvtp2qvti(true);
- } catch (QvtMtcExecutionException e) {
- throw e;
- } catch (IOException e) {
- throw new QvtMtcExecutionException("Failed to create regions", e);
- }
- return iResource;
- }
-
-
- protected PivotModel prepareQVTpModel() throws QvtMtcExecutionException {
-
- if (oclASUris.size() > 1) {
- throw new IllegalStateException("Deprecated OCL2QVTiBroker doesn't support multiple ocl documents. Use "+ OCL2QVTiCompilerChain.class.getName());
- }
- URI oclASUri = oclASUris.get(0);
- PivotModel pModel = (tracesASUris.isEmpty()) ? runOCL2QVTp_MiddleFolded(oclASUri, qvtpUris.get(0), traceabilityPropName)
- : runOCL2QVTp_MiddleModel(oclASUri, qvtpUris.get(0), tracesASUris.get(0));
-
- assertNoResourceErrors("pModel", pModel.getResource());
- return pModel;
- }
- protected PivotModel runOCL2QVTp_MiddleModel (URI oclDocURI, URI qvtiFileURI, URI tracesMMURI) throws QvtMtcExecutionException {
-
- try {
- EtlTask etl = new EtlTask(OCL2QVTiBroker.class.getResource(OCL2QVTP_MIDDLE_MODEL).toURI());
- pModel = createQVTpModel(qvtiFileURI);
- etl.addModel(createOCLModel(oclDocURI));
- etl.addModel(pModel);
- etl.addModel(createTracesModel(tracesMMURI));
- etl.addModel(createOclStdLibModel());
- etl.execute();
-
- } catch (URISyntaxException e) {
- throw new QvtMtcExecutionException("Exception launching OCL 2 QVTp transformation", e);
- }
-
- return pModel;
- }
-
- protected PivotModel runOCL2QVTp_MiddleFolded (URI oclDocURI, URI qvtiFileURI) throws QvtMtcExecutionException {
- return runOCL2QVTp_MiddleFolded(oclDocURI, qvtiFileURI, "ast");
- }
-
- protected PivotModel runOCL2QVTp_MiddleFolded (URI oclDocURI, URI qvtiFileURI, String traceabilityPropName) throws QvtMtcExecutionException {
-
- PivotModel oclModel = createOCLModel(oclDocURI);
- pModel= createQVTpModel(qvtiFileURI);
-
- OCL2QVTp ocl2qvtp = new OCL2QVTp(environmentFactory, traceabilityPropName);
- Resource resource = ocl2qvtp.run(oclModel.getResource().getResourceSet() , oclDocURI); // NB. cModel is the .ocl doc
-
- pModel.getResource().getContents().addAll(resource.getContents());
- return pModel;
- }
-
- private PivotModel createOCLModel(URI oclDocURI) throws QvtMtcExecutionException {
- String oclDocModelName = "OCL";
- return pmUtil.createPivotModel(oclDocURI.toString(), oclDocModelName, "", PIVOT_URI, true, false, true, true, true, savingOptions);
-
- }
-
- private PivotModel createQVTpModel(URI qvtpFileURI) throws QvtMtcExecutionException {
- String qvtiModelName = "QVTp";
- String qvtiModelAlises = "QVTi,QVT"; // FIXME further steps should configure the aliases
- return pmUtil.createPivotModel(qvtpFileURI.toString(), qvtiModelName, qvtiModelAlises, QVTC_FULL_NS, false, true, false, true, true, savingOptions);
- }
-
- private PivotModel createTracesModel(URI tracesMMURI) throws QvtMtcExecutionException {
- String tracesMModelName = "MiddleMM";
- return pmUtil.createPivotModel(tracesMMURI.toString(), tracesMModelName, "", TRACES_FULL_NS , true, false, true, false, true, savingOptions);
- }
-
- private PivotModel createOclStdLibModel() throws QvtMtcExecutionException {
- String oclStdlibName = "OclStdLib";
- return pmUtil.createPivotModel(OCLSTDLIB_URI, oclStdlibName, "", PIVOT_URI, true, false, true, false, true, savingOptions);
- }
-}
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.qvtd.cs2as.compiler.tests/META-INF/MANIFEST.MF
index 5151e347e..cf5590c71 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/META-INF/MANIFEST.MF
@@ -17,19 +17,4 @@ Require-Bundle: org.junit,
org.eclipse.xsd;bundle-version="[2.11.0,3.0.0)";resolution:=optional
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: example1.source,
- example1.source.impl,
- example1.source.util,
- example1.target,
- example1.target.impl,
- example1.target.util,
- example2.classes,
- example2.classes.impl,
- example2.classes.util,
- example2.classescs,
- example2.classescs.impl,
- example2.classescs.util,
- example2.classescstraces,
- example2.classescstraces.impl,
- example2.classescstraces.util,
- org.eclipse.qvtd.cs2as.compiler.tests
+Export-Package: org.eclipse.qvtd.cs2as.compiler.tests
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/ExecutionBenchmarks.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/ExecutionBenchmarks.java
index 7235b1431..a76d8ce73 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/ExecutionBenchmarks.java
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/ExecutionBenchmarks.java
@@ -41,7 +41,7 @@ import org.eclipse.qvtd.xtext.qvtimperative.QVTimperativeStandaloneSetup;
import org.junit.Before;
import org.junit.Test;
-import cg._classescs2as_qvtp_qvtias.classescs2as_qvtp_qvtias;
+import cg._classescs2as_qvtp_qvtcas.classescs2as_qvtp_qvtcas;
/**
* @author asbh500
@@ -126,13 +126,13 @@ public class ExecutionBenchmarks extends LoadTestCase {
URI baseURI = TESTS_BASE_URI.appendSegment("example2");
- trackExample_CG(myQVT, classescs2as_qvtp_qvtias.class, baseURI, "model1", results);
- trackExample_CG(myQVT, classescs2as_qvtp_qvtias.class, baseURI, "model2", results);
- trackExample_CG(myQVT, classescs2as_qvtp_qvtias.class, baseURI, "model3", results);
- trackExample_CG(myQVT, classescs2as_qvtp_qvtias.class, baseURI, "model4", results);
- trackExample_CG(myQVT, classescs2as_qvtp_qvtias.class, baseURI, "model5", results);
- trackExample_CG(myQVT, classescs2as_qvtp_qvtias.class, baseURI, "model6", results);
- trackExample_CG(myQVT, classescs2as_qvtp_qvtias.class, baseURI, "model7", results);
+ trackExample_CG(myQVT, classescs2as_qvtp_qvtcas.class, baseURI, "model1", results);
+ trackExample_CG(myQVT, classescs2as_qvtp_qvtcas.class, baseURI, "model2", results);
+ trackExample_CG(myQVT, classescs2as_qvtp_qvtcas.class, baseURI, "model3", results);
+ trackExample_CG(myQVT, classescs2as_qvtp_qvtcas.class, baseURI, "model4", results);
+ trackExample_CG(myQVT, classescs2as_qvtp_qvtcas.class, baseURI, "model5", results);
+ trackExample_CG(myQVT, classescs2as_qvtp_qvtcas.class, baseURI, "model6", results);
+ trackExample_CG(myQVT, classescs2as_qvtp_qvtcas.class, baseURI, "model7", results);
myQVT.dispose();
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java
index 74d7ebc94..e8bd74ca8 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/OCL2QVTiTestCases.java
@@ -229,13 +229,22 @@ public class OCL2QVTiTestCases extends LoadTestCase {
Resource r = rSet.createResource(modelURI);
r.save(TestsXMLUtil.defaultSavingOptions);
}
+
+ protected @NonNull Map<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>> createTestCasesCompilerOptions() {
+ Map<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>> options = new HashMap<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>>();
+ Map<@NonNull Key<?>, @Nullable Object> defStepOptions = new HashMap<@NonNull Key<?>, @Nullable Object>();
+ defStepOptions.put(OCL2QVTiCompilerChain.SAVE_OPTIONS_KEY, TestsXMLUtil.defaultSavingOptions);
+ // TODO problem hen validating defStepOptions.put(OCL2QVTiCompilerChain.VALIDATE_KEY, true);
+ options.put(OCL2QVTiCompilerChain.DEFAULT_STEP, defStepOptions);
+ return options;
+ }
}
// For testing purpose
private static class OCL2QVTiCompilerTester extends OCL2QVTiCompilerChain {
public OCL2QVTiCompilerTester(@NonNull URI baseURI, @NonNull String oclDocName, @NonNull QVTimperative metaModelManager) {
- super(metaModelManager, createTestCasesCompilerOptions(), baseURI.appendSegment(oclDocName));
+ super(metaModelManager, null, baseURI.appendSegment(oclDocName));
}
// For testing purpose
@@ -716,13 +725,6 @@ public class OCL2QVTiTestCases extends LoadTestCase {
return (ASResource) asResource;
}
- private static @NonNull Map<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>> createTestCasesCompilerOptions() {
- Map<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>> options = new HashMap<@NonNull String, @NonNull Map<@NonNull Key<?>, @Nullable Object>>();
- Map<@NonNull Key<?>, @Nullable Object> defStepOptions = new HashMap<@NonNull Key<?>, @Nullable Object>();
- defStepOptions.put(OCL2QVTiCompilerChain.SAVE_OPTIONS_KEY, TestsXMLUtil.defaultSavingOptions);
- // TODO problem hen validating defStepOptions.put(OCL2QVTiCompilerChain.VALIDATE_KEY, true);
- options.put(OCL2QVTiCompilerChain.DEFAULT_STEP, defStepOptions);
- return options;
- }
+
}
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/common/LookupResult.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/common/LookupResult.java
deleted file mode 100644
index 25ba0e27e..000000000
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/common/LookupResult.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.qvtd.cs2as.compiler.tests.common;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-
-public interface LookupResult<NE> {
-
- @Nullable
- NE getSingleResult();
-
- @NonNull
- List<NE> getAllResult();
-
- int size();
-}
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/common/LookupResultImpl.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/common/LookupResultImpl.java
deleted file mode 100644
index f9d4a93d6..000000000
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/common/LookupResultImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.qvtd.cs2as.compiler.tests.common;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-
-public class LookupResultImpl<NE> implements LookupResult<NE> {
-
- private List<NE> results = new ArrayList<NE>();
-
- public LookupResultImpl(List<NE> results){
- this.results.addAll(results);
- }
-
- @Override
- @NonNull
- public List<NE> getAllResult() {
- return Collections.unmodifiableList(results);
- }
-
- @Override
- @Nullable
- public NE getSingleResult() {
- return results.size() == 0 ? null : results.get(0);
- }
-
- @Override
- public int size() {
- return results.size();
- }
-} \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/.gitignore
deleted file mode 100644
index 635be6076..000000000
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/new_cg/
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/.gitignore
index e0b49e53c..2479ef96b 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/.gitignore
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/.gitignore
@@ -1,5 +1,9 @@
-/_SimplerKiama_qvtp_qvtias/
+/_classescs2asV2_qvtp_qvtcas/
/_classescs2asV2_qvtp_qvtias/
+/_SimplerKiama_qvtp_qvtcas/
+/_Source2Target_qvtp_qvtcas/
/_Source2Target_qvtp_qvtias/
+/_Source2TargetBase_qvtp_qvtcas/
/_Source2TargetBase_qvtp_qvtias/
+/_Source2TargetDerived_qvtp_qvtcas/
/_Source2TargetDerived_qvtp_qvtias/
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_SimplerKiama_qvtp_qvtcas/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_SimplerKiama_qvtp_qvtcas/.gitignore
deleted file mode 100644
index 5cd66bd36..000000000
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_SimplerKiama_qvtp_qvtcas/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/SimplerKiama_qvtp_qvtcas.java
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2TargetBase_qvtp_qvtcas/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2TargetBase_qvtp_qvtcas/.gitignore
deleted file mode 100644
index 00e1711fe..000000000
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2TargetBase_qvtp_qvtcas/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/Source2TargetBase_qvtp_qvtcas.java
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2TargetDerived_qvtp_qvtcas/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2TargetDerived_qvtp_qvtcas/.gitignore
deleted file mode 100644
index 5760badd2..000000000
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2TargetDerived_qvtp_qvtcas/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/Source2TargetDerived_qvtp_qvtcas.java
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2Target_qvtp_qvtcas/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2Target_qvtp_qvtcas/.gitignore
deleted file mode 100644
index 79082dd9f..000000000
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_Source2Target_qvtp_qvtcas/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/Source2Target_qvtp_qvtcas.java
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2asV2_qvtp_qvtcas/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2asV2_qvtp_qvtcas/.gitignore
deleted file mode 100644
index 8460b46e3..000000000
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2asV2_qvtp_qvtcas/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/classescs2asV2_qvtp_qvtcas.java
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtcas/.gitignore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtcas/.gitignore
deleted file mode 100644
index 97be367b8..000000000
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/cg/_classescs2as_qvtp_qvtcas/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/classescs2as_qvtp_qvtcas.java
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_qvtcas/classescs2as_qvtp_qvtcas.java
index 259f97621..985c83c3b 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_qvtcas/classescs2as_qvtp_qvtcas.java
@@ -7,7 +7,7 @@
* Do not edit it.
********************************************************************************/
-package cg._classescs2as_qvtp_qvtias;
+package cg._classescs2as_qvtp_qvtcas;
import example2.classes.ClassesFactory;
import example2.classes.ClassesPackage;
@@ -15,20 +15,26 @@ import example2.classes.Package;
import example2.classes.Root;
import example2.classes.lookup.util.ClassesLookupResult;
import example2.classes.lookup.util.ClassesLookupSolver;
+import example2.classes.util.Visitable;
import example2.classescs.ClassCS;
import example2.classescs.ClassescsPackage;
import example2.classescs.PackageCS;
import example2.classescs.PathElementCS;
+import example2.classescs.PathNameCS;
import example2.classescs.RootCS;
import java.util.Iterator;
import java.util.List;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EcorePackage;
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.classifier.ClassifierAllInstancesOperation;
+import org.eclipse.ocl.pivot.library.collection.CollectionSelectByKindOperation;
import org.eclipse.ocl.pivot.library.collection.CollectionSizeOperation;
import org.eclipse.ocl.pivot.library.collection.OrderedCollectionFirstOperation;
import org.eclipse.ocl.pivot.library.collection.OrderedCollectionLastOperation;
@@ -37,13 +43,17 @@ import org.eclipse.ocl.pivot.library.numeric.NumericMinusOperation;
import org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation;
import org.eclipse.ocl.pivot.utilities.ClassUtil;
import org.eclipse.ocl.pivot.utilities.ValueUtil;
+import org.eclipse.ocl.pivot.values.CollectionValue;
import org.eclipse.ocl.pivot.values.IntegerValue;
import org.eclipse.ocl.pivot.values.InvalidValueException;
+import org.eclipse.ocl.pivot.values.OrderedSetValue;
import org.eclipse.ocl.pivot.values.SequenceValue;
+import org.eclipse.ocl.pivot.values.SetValue;
import org.eclipse.ocl.xtext.base.cs2as.tx.AbstractCS2ASTransformer;
+import org.eclipse.qvtd.pivot.qvtimperative.library.model.RootObjectsOperation;
/**
- * The classescs2as_qvtp_qvtias transformation:
+ * The classescs2as_qvtp_qvtcas transformation:
* <p>
* Construct with an evaluator
* <br>
@@ -54,16 +64,19 @@ import org.eclipse.ocl.xtext.base.cs2as.tx.AbstractCS2ASTransformer;
* Extract each output model with {@link getRootObjects(String)}
*/
@SuppressWarnings("nls")
-public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
+public class classescs2as_qvtp_qvtcas extends AbstractCS2ASTransformer
{
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull RootPackageId PACKid_$metamodel$ = IdManager.getRootPackageId("$metamodel$");
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull 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 /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull NsURIPackageId PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classescs_s_1_0 = IdManager.getNsURIPackageId("http://cs2as/tests/example2/classescs/1.0", null, ClassescsPackage.eINSTANCE);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull NsURIPackageId PACKid_http_c_s_s_www_eclipse_org_s_emf_s_2002_s_Ecore = IdManager.getNsURIPackageId("http://www.eclipse.org/emf/2002/Ecore", null, EcorePackage.eINSTANCE);
- public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Class = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classes_s_1_0.getClassId("Class", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull 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 /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Class = PACKid_$metamodel$.getClassId("Class", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_ClassCS = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classescs_s_1_0.getClassId("ClassCS", 0);
- public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Class_0 = PACKid_$metamodel$.getClassId("Class", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Class_0 = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classes_s_1_0.getClassId("Class", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_EObject = PACKid_http_c_s_s_www_eclipse_org_s_emf_s_2002_s_Ecore.getClassId("EObject", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Model = PACKid_http_c_s_s_www_eclipse_org_s_qvt_s_2015_s_QVTbaseLibrary.getClassId("Model", 0);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_OclElement = PACKid_$metamodel$.getClassId("OclElement", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Package = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classes_s_1_0.getClassId("Package", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_PackageCS = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classescs_s_1_0.getClassId("PackageCS", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_PathElementCS = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classescs_s_1_0.getClassId("PathElementCS", 0);
@@ -72,40 +85,23 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_RootCS = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classescs_s_1_0.getClassId("RootCS", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull ClassId CLSSid_Visitable = PACKid_http_c_s_s_cs2as_s_tests_s_example2_s_classes_s_1_0.getClassId("Visitable", 0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull IntegerValue INT_1 = ValueUtil.integerValueOf("1");
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId COL_CLSSid_ClassCS = TypeId.COLLECTION.getSpecializedId(CLSSid_ClassCS);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId COL_CLSSid_PackageCS = TypeId.COLLECTION.getSpecializedId(CLSSid_PackageCS);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_ClassCS = TypeId.ORDERED_SET.getSpecializedId(CLSSid_ClassCS);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_PackageCS = TypeId.ORDERED_SET.getSpecializedId(CLSSid_PackageCS);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId ORD_CLSSid_PathElementCS = TypeId.ORDERED_SET.getSpecializedId(CLSSid_PathElementCS);
- public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SEQ_CLSSid_Class = TypeId.SEQUENCE.getSpecializedId(CLSSid_Class);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SEQ_CLSSid_Class = TypeId.SEQUENCE.getSpecializedId(CLSSid_Class_0);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SEQ_CLSSid_Package = TypeId.SEQUENCE.getSpecializedId(CLSSid_Package);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SET_CLSSid_ClassCS = TypeId.SET.getSpecializedId(CLSSid_ClassCS);
+ public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SET_CLSSid_OclElement = TypeId.SET.getSpecializedId(CLSSid_OclElement);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SET_CLSSid_PackageCS = TypeId.SET.getSpecializedId(CLSSid_PackageCS);
public static final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull CollectionTypeId SET_CLSSid_RootCS = TypeId.SET.getSpecializedId(CLSSid_RootCS);
- /*
- * 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 /*@NonNull*/ ClassId[]{
- CLSSid_ClassCS, // 0 => ClassCS
- CLSSid_PackageCS, // 1 => PackageCS
- CLSSid_RootCS // 2 => RootCS
- };
-
- /*
- * 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 int /*@NonNull*/ [] /*@NonNull*/ [] classIndex2allClassIndexes = new int /*@NonNull*/ [] /*@NonNull*/ [] {
- {0}, // 0 : ClassCS -> {ClassCS}
- {1}, // 1 : PackageCS -> {PackageCS}
- {2} // 2 : RootCS -> {RootCS}
- };
private final ClassesLookupSolver lookupSolver = new ClassesLookupSolver(executor);
- public classescs2as_qvtp_qvtias(final /*@NonNull*/ Executor executor) throws ReflectiveOperationException {
- super(executor, new /*@NonNull*/ String[] {"leftCS", "rightAS"}, null, classIndex2classId, classIndex2allClassIndexes);
+ public classescs2as_qvtp_qvtcas(final /*@NonNull*/ Executor executor) throws ReflectiveOperationException {
+ super(executor, new /*@NonNull*/ String[] {"leftCS", "rightAS"}, null, null, null);
}
public boolean run() throws ReflectiveOperationException {
@@ -189,8 +185,183 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
/**
*
- * map cClassCS_2_Class in classescs2as_qvtp_qvtias {
- * leftCS (classCS : classescs::ClassCS[1];
+ * map __root__ in classescs2as_qvtp_qvtcas {
+ *
+ * where ( |)
+ * {roots : Set(OclElement) = leftCS.rootObjects()
+ * ;
+ * _'\u00ABchild-ClassCS\u00BB' : Set(classescs::ClassCS[*|1]) = roots->selectByKind(classescs::ClassCS)
+ * ;
+ * _'\\u00ABjoin-ClassCS-0\\u00BB' : UniqueCollection(classescs::ClassCS[*|1]) = _'\u00ABchild-ClassCS\u00BB';
+ * _'\u00ABchild-PackageCS\u00BB' : Set(classescs::PackageCS[*|1]) = roots->selectByKind(classescs::PackageCS)
+ * ;
+ * _'\\u00ABjoin-PackageCS-0\\u00BB' : UniqueCollection(classescs::PackageCS[*|1]) = _'\u00ABchild-PackageCS\u00BB';
+ * _'\\u00ABjoin-PackageCS-1\\u00BB' : UniqueCollection(classescs::PackageCS[*|1]) = _'\u00ABchild-PackageCS\u00BB';
+ * _'\u00ABchild-RootCS\u00BB' : Set(classescs::RootCS[*|1]) = roots->selectByKind(classescs::RootCS)
+ * ;
+ * _'\\u00ABjoin-RootCS-0\\u00BB' : Set(classescs::RootCS[*|1]) = _'\u00ABchild-RootCS\u00BB';
+ * |}
+ * for loop0 : classescs::RootCS in _'\\u00ABjoin-RootCS-0\\u00BB' {
+ *
+ * map _'classescs%RootCS%ownedPackages' {
+ * _'\\u00ABjoin-PackageCS-0\\u00BB' := _'\\u00ABjoin-PackageCS-0\\u00BB';
+ * _'\\u00ABjoin-PackageCS-1\\u00BB' := _'\\u00ABjoin-PackageCS-1\\u00BB';
+ * _'\\u00ABparent\\u00BB' := loop0;
+ * }}
+ * for loop0 : classescs::PackageCS in _'\\u00ABjoin-PackageCS-1\\u00BB' {
+ *
+ * map _'classescs%PackageCS%ownedPackages' {
+ * _'\\u00ABjoin-PackageCS-0\\u00BB' := _'\\u00ABjoin-PackageCS-0\\u00BB';
+ * _'\\u00ABparent\\u00BB' := loop0;
+ * }}
+ * for loop0 : classescs::PackageCS in _'\\u00ABjoin-PackageCS-0\\u00BB' {
+ *
+ * map _'classescs%PackageCS%ownedClasses' {
+ * _'\\u00ABjoin-ClassCS-0\\u00BB' := _'\\u00ABjoin-ClassCS-0\\u00BB';
+ * _'\\u00ABparent\\u00BB' := loop0;
+ * }}
+ * for loop0 : classescs::ClassCS in _'\\u00ABjoin-ClassCS-0\\u00BB' {
+ *
+ * map cClassCS_2_Class {
+ * classCS := loop0;
+ * }}
+ * for loop0 : classescs::PackageCS in _'\\u00ABjoin-PackageCS-0\\u00BB' {
+ *
+ * map cPackageCS_2_Package {
+ * packageCS := loop0;
+ * }}
+ * for loop0 : classescs::RootCS in _'\\u00ABjoin-RootCS-0\\u00BB' {
+ *
+ * map cRootCS_2_Root {
+ * rootCS := loop0;
+ * }}
+ * for loop0 : classescs::ClassCS in _'\\u00ABjoin-ClassCS-0\\u00BB' {
+ *
+ * map uClass_name {
+ * classCS := loop0;
+ * }}
+ * for loop0 : classescs::PackageCS in _'\\u00ABjoin-PackageCS-0\\u00BB' {
+ *
+ * map _'uPackage_name\\nuPackage_ownedClasses\\nuPackage_ownedPackages' {
+ * packageCS := loop0;
+ * }}
+ * for loop0 : classescs::RootCS in _'\\u00ABjoin-RootCS-0\\u00BB' {
+ *
+ * map uRoot_ownedPackages {
+ * rootCS := loop0;
+ * }}
+ * for loop0 : classescs::ClassCS in _'\\u00ABjoin-ClassCS-0\\u00BB' {
+ *
+ * map uClass_superClass {
+ * classCS := loop0;
+ * }}
+ */
+ protected boolean MAP___root__() throws ReflectiveOperationException {
+ // predicates
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classescs_c_c_ClassCS_0 = idResolver.getClass(CLSSid_ClassCS, null);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classescs_c_c_PackageCS_0 = idResolver.getClass(CLSSid_PackageCS, null);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classescs_c_c_RootCS_0 = idResolver.getClass(CLSSid_RootCS, null);
+ // variable assignments
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SetValue rootObjects = RootObjectsOperation.INSTANCE.evaluate(executor, SET_CLSSid_OclElement, models[0/*leftCS*/]);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SetValue selectByKind = (SetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, rootObjects, TYP_classescs_c_c_ClassCS_0);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SetValue selectByKind_0 = (SetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, rootObjects, TYP_classescs_c_c_PackageCS_0);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SetValue selectByKind_1 = (SetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, rootObjects, TYP_classescs_c_c_RootCS_0);
+ // connection variables
+ final SetValue./*@NonNull*/ Accumulator _92_u00ABjoin_m_ClassCS_m_0_92_u00BB_1 = (SetValue.Accumulator)ValueUtil.createCollectionAccumulatorValue(SET_CLSSid_ClassCS);
+ for (ClassCS iterator : ValueUtil.typedIterable(ClassCS.class, selectByKind)) {
+ _92_u00ABjoin_m_ClassCS_m_0_92_u00BB_1.add(iterator);
+ }
+ final SetValue./*@NonNull*/ Accumulator _92_u00ABjoin_m_PackageCS_m_0_92_u00BB_3 = (SetValue.Accumulator)ValueUtil.createCollectionAccumulatorValue(SET_CLSSid_PackageCS);
+ for (PackageCS iterator_0 : ValueUtil.typedIterable(PackageCS.class, selectByKind_0)) {
+ _92_u00ABjoin_m_PackageCS_m_0_92_u00BB_3.add(iterator_0);
+ }
+ final SetValue./*@NonNull*/ Accumulator _92_u00ABjoin_m_PackageCS_m_1_92_u00BB_1 = (SetValue.Accumulator)ValueUtil.createCollectionAccumulatorValue(SET_CLSSid_PackageCS);
+ for (PackageCS iterator_1 : ValueUtil.typedIterable(PackageCS.class, selectByKind_0)) {
+ _92_u00ABjoin_m_PackageCS_m_1_92_u00BB_1.add(iterator_1);
+ }
+ // mapping statements
+ for (RootCS loop0 : ValueUtil.typedIterable(RootCS.class, selectByKind_1)) {
+ if (loop0 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull RootCS symbol_0 = (RootCS)loop0;
+ MAP_classescs_37RootCS_37ownedPackages(_92_u00ABjoin_m_PackageCS_m_0_92_u00BB_3, _92_u00ABjoin_m_PackageCS_m_1_92_u00BB_1, symbol_0);
+ }
+ }
+ for (PackageCS loop0_0 : ValueUtil.typedIterable(PackageCS.class, _92_u00ABjoin_m_PackageCS_m_1_92_u00BB_1)) {
+ if (loop0_0 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS symbol_2 = (PackageCS)loop0_0;
+ MAP_classescs_37PackageCS_37ownedPackages(_92_u00ABjoin_m_PackageCS_m_0_92_u00BB_3, symbol_2);
+ }
+ }
+ for (PackageCS loop0_1 : ValueUtil.typedIterable(PackageCS.class, _92_u00ABjoin_m_PackageCS_m_0_92_u00BB_3)) {
+ if (loop0_1 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS symbol_4 = (PackageCS)loop0_1;
+ MAP_classescs_37PackageCS_37ownedClasses(_92_u00ABjoin_m_ClassCS_m_0_92_u00BB_1, symbol_4);
+ }
+ }
+ for (ClassCS loop0_2 : ValueUtil.typedIterable(ClassCS.class, _92_u00ABjoin_m_ClassCS_m_0_92_u00BB_1)) {
+ if (loop0_2 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull ClassCS symbol_6 = (ClassCS)loop0_2;
+ if (symbol_6 != null) {
+ MAP_cClassCS_2_Class(symbol_6);
+ }
+ }
+ }
+ for (PackageCS loop0_3 : ValueUtil.typedIterable(PackageCS.class, _92_u00ABjoin_m_PackageCS_m_0_92_u00BB_3)) {
+ if (loop0_3 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS symbol_8 = (PackageCS)loop0_3;
+ if (symbol_8 != null) {
+ MAP_cPackageCS_2_Package(symbol_8);
+ }
+ }
+ }
+ for (RootCS loop0_4 : ValueUtil.typedIterable(RootCS.class, selectByKind_1)) {
+ if (loop0_4 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull RootCS symbol_10 = (RootCS)loop0_4;
+ if (symbol_10 != null) {
+ MAP_cRootCS_2_Root(symbol_10);
+ }
+ }
+ }
+ for (ClassCS loop0_5 : ValueUtil.typedIterable(ClassCS.class, _92_u00ABjoin_m_ClassCS_m_0_92_u00BB_1)) {
+ if (loop0_5 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull ClassCS symbol_12 = (ClassCS)loop0_5;
+ if (symbol_12 != null) {
+ MAP_uClass_name(symbol_12);
+ }
+ }
+ }
+ for (PackageCS loop0_6 : ValueUtil.typedIterable(PackageCS.class, _92_u00ABjoin_m_PackageCS_m_0_92_u00BB_3)) {
+ if (loop0_6 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS symbol_14 = (PackageCS)loop0_6;
+ if (symbol_14 != null) {
+ MAP_uPackage_name_92nuPackage_ownedClasses_92nuPackage_ownedPackages(symbol_14);
+ }
+ }
+ }
+ for (RootCS loop0_7 : ValueUtil.typedIterable(RootCS.class, selectByKind_1)) {
+ if (loop0_7 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull RootCS symbol_16 = (RootCS)loop0_7;
+ if (symbol_16 != null) {
+ MAP_uRoot_ownedPackages(symbol_16);
+ }
+ }
+ }
+ for (ClassCS loop0_8 : ValueUtil.typedIterable(ClassCS.class, _92_u00ABjoin_m_ClassCS_m_0_92_u00BB_1)) {
+ if (loop0_8 != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull ClassCS symbol_18 = (ClassCS)loop0_8;
+ if (symbol_18 != null) {
+ MAP_uClass_superClass(symbol_18);
+ }
+ }
+ }
+ return true;
+ }
+
+ /**
+ *
+ * map cClassCS_2_Class in classescs2as_qvtp_qvtcas {
+ * leftCS (classCS : classescs::ClassCS[?];
* |)
* { |}
* rightAS ( |)
@@ -215,8 +386,8 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
/**
*
- * map cPackageCS_2_Package in classescs2as_qvtp_qvtias {
- * leftCS (packageCS : classescs::PackageCS[1];
+ * map cPackageCS_2_Package in classescs2as_qvtp_qvtcas {
+ * leftCS (packageCS : classescs::PackageCS[?];
* |)
* { |}
* rightAS ( |)
@@ -241,8 +412,8 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
/**
*
- * map cRootCS_2_Root in classescs2as_qvtp_qvtias {
- * leftCS (rootCS : classescs::RootCS[1];
+ * map cRootCS_2_Root in classescs2as_qvtp_qvtcas {
+ * leftCS (rootCS : classescs::RootCS[?];
* |)
* { |}
* rightAS ( |)
@@ -267,31 +438,155 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
/**
*
- * map uClass_name in classescs2as_qvtp_qvtias {
+ * map _'classescs%PackageCS%ownedClasses' in classescs2as_qvtp_qvtcas {
+ *
+ * leftCS (_'\\u00ABparent\\u00BB' : classescs::PackageCS[1];
+ * |)
+ * { |}
+ * where (_'\\u00ABjoin-ClassCS-0\\u00BB' : UniqueCollection(classescs::ClassCS[*|1]);
+ * |)
+ * {allChildren : OrderedSet(classescs::ClassCS) = _'\\u00ABparent\\u00BB'.ownedClasses->selectByKind(classescs::ClassCS)
+ * ;
+ * _'\u00ABchild-ClassCS\u00BB' : OrderedSet(classescs::ClassCS[*|1]) = allChildren->selectByKind(classescs::ClassCS);
+ * |
+ * _'\\u00ABjoin-ClassCS-0\\u00BB' += _'\u00ABchild-ClassCS\u00BB';
+ * }
+ *
+ */
+ protected boolean MAP_classescs_37PackageCS_37ownedClasses(final CollectionValue./*@NonNull*/ Accumulator _92_u00ABjoin_m_ClassCS_m_0_92_u00BB, final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS _92_u00ABparent_92_u00BB) throws ReflectiveOperationException {
+ // predicates
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classescs_c_c_ClassCS_1 = idResolver.getClass(CLSSid_ClassCS, null);
+ // variable assignments
+ final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<ClassCS> ownedClasses = _92_u00ABparent_92_u00BB.getOwnedClasses();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedClasses = idResolver.createOrderedSetOfAll(ORD_CLSSid_ClassCS, ownedClasses);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue selectByKind = (OrderedSetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, BOXED_ownedClasses, TYP_classescs_c_c_ClassCS_1);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue selectByKind_0 = (OrderedSetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, selectByKind, TYP_classescs_c_c_ClassCS_1);
+ // connection assignments
+ for (ClassCS iterator : ValueUtil.typedIterable(ClassCS.class, selectByKind_0)) {
+ if (iterator instanceof ClassCS) {
+ _92_u00ABjoin_m_ClassCS_m_0_92_u00BB.add(iterator);
+ }
+ }
+ return true;
+ }
+
+ /**
+ *
+ * map _'classescs%PackageCS%ownedPackages' in classescs2as_qvtp_qvtcas {
+ *
+ * leftCS (_'\\u00ABparent\\u00BB' : classescs::PackageCS[1];
+ * |)
+ * { |}
+ * where (_'\\u00ABjoin-PackageCS-0\\u00BB' : UniqueCollection(classescs::PackageCS[*|1]);
+ * |)
+ * {allChildren : OrderedSet(classescs::PackageCS) = _'\\u00ABparent\\u00BB'.ownedPackages->selectByKind(classescs::PackageCS)
+ * ;
+ * _'\u00ABchild-PackageCS\u00BB' : OrderedSet(classescs::PackageCS[*|1]) = allChildren->selectByKind(classescs::PackageCS)
+ * ;
+ * |
+ * _'\\u00ABjoin-PackageCS-0\\u00BB' += _'\u00ABchild-PackageCS\u00BB';
+ * }
+ * for aChild : classescs::PackageCS in allChildren {
+ *
+ * map _'classescs%PackageCS%ownedPackages' {
+ * _'\\u00ABjoin-PackageCS-0\\u00BB' := _'\\u00ABjoin-PackageCS-0\\u00BB';
+ * _'\\u00ABparent\\u00BB' := aChild;
+ * }}
+ */
+ protected boolean MAP_classescs_37PackageCS_37ownedPackages(final CollectionValue./*@NonNull*/ Accumulator _92_u00ABjoin_m_PackageCS_m_0_92_u00BB, final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS _92_u00ABparent_92_u00BB_0) throws ReflectiveOperationException {
+ // predicates
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classescs_c_c_PackageCS_1 = idResolver.getClass(CLSSid_PackageCS, null);
+ // variable assignments
+ final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<PackageCS> ownedPackages = _92_u00ABparent_92_u00BB_0.getOwnedPackages();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedPackages = idResolver.createOrderedSetOfAll(ORD_CLSSid_PackageCS, ownedPackages);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue selectByKind = (OrderedSetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, BOXED_ownedPackages, TYP_classescs_c_c_PackageCS_1);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue selectByKind_0 = (OrderedSetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, selectByKind, TYP_classescs_c_c_PackageCS_1);
+ // connection assignments
+ for (PackageCS iterator : ValueUtil.typedIterable(PackageCS.class, selectByKind_0)) {
+ if (iterator instanceof PackageCS) {
+ _92_u00ABjoin_m_PackageCS_m_0_92_u00BB.add(iterator);
+ }
+ }
+ // mapping statements
+ for (PackageCS aChild : ValueUtil.typedIterable(PackageCS.class, selectByKind)) {
+ if (aChild != null) {
+ final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS symbol_0 = (PackageCS)aChild;
+ MAP_classescs_37PackageCS_37ownedPackages(_92_u00ABjoin_m_PackageCS_m_0_92_u00BB, symbol_0);
+ }
+ }
+ return true;
+ }
+
+ /**
+ *
+ * map _'classescs%RootCS%ownedPackages' in classescs2as_qvtp_qvtcas {
*
- * leftCS (classCS : classescs::ClassCS[1];
+ * leftCS (_'\\u00ABparent\\u00BB' : classescs::RootCS[1];
+ * |)
+ * { |}
+ * where (_'\\u00ABjoin-PackageCS-1\\u00BB' : UniqueCollection(classescs::PackageCS[*|1]);
+ * _'\\u00ABjoin-PackageCS-0\\u00BB' : UniqueCollection(classescs::PackageCS[*|1]);
+ * |)
+ * {allChildren : OrderedSet(classescs::PackageCS) = _'\\u00ABparent\\u00BB'.ownedPackages->selectByKind(classescs::PackageCS)
+ * ;
+ * _'\u00ABchild-PackageCS\u00BB' : OrderedSet(classescs::PackageCS[*|1]) = allChildren->selectByKind(classescs::PackageCS);
+ * |
+ * _'\\u00ABjoin-PackageCS-1\\u00BB' += _'\u00ABchild-PackageCS\u00BB';
+ * _'\\u00ABjoin-PackageCS-0\\u00BB' += _'\u00ABchild-PackageCS\u00BB';
+ * }
+ *
+ */
+ protected boolean MAP_classescs_37RootCS_37ownedPackages(final CollectionValue./*@NonNull*/ Accumulator _92_u00ABjoin_m_PackageCS_m_0_92_u00BB_0, final CollectionValue./*@NonNull*/ Accumulator _92_u00ABjoin_m_PackageCS_m_1_92_u00BB, final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull RootCS _92_u00ABparent_92_u00BB_1) throws ReflectiveOperationException {
+ // predicates
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classescs_c_c_PackageCS_1 = idResolver.getClass(CLSSid_PackageCS, null);
+ // variable assignments
+ final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<PackageCS> ownedPackages = _92_u00ABparent_92_u00BB_1.getOwnedPackages();
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedPackages = idResolver.createOrderedSetOfAll(ORD_CLSSid_PackageCS, ownedPackages);
+ final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue selectByKind = (OrderedSetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, BOXED_ownedPackages, TYP_classescs_c_c_PackageCS_1);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue selectByKind_0 = (OrderedSetValue)CollectionSelectByKindOperation.INSTANCE.evaluate(executor, selectByKind, TYP_classescs_c_c_PackageCS_1);
+ // connection assignments
+ for (PackageCS iterator : ValueUtil.typedIterable(PackageCS.class, selectByKind_0)) {
+ if (iterator instanceof PackageCS) {
+ _92_u00ABjoin_m_PackageCS_m_1_92_u00BB.add(iterator);
+ }
+ }
+ for (PackageCS iterator_0 : ValueUtil.typedIterable(PackageCS.class, selectByKind_0)) {
+ if (iterator_0 instanceof PackageCS) {
+ _92_u00ABjoin_m_PackageCS_m_0_92_u00BB_0.add(iterator_0);
+ }
+ }
+ return true;
+ }
+
+ /**
+ *
+ * map uClass_name in classescs2as_qvtp_qvtcas {
+ *
+ * leftCS (classCS : classescs::ClassCS[?];
* |)
* { |}
* rightAS ( |)
* { |}
* where ( |)
- * {_0 : classes::Class[1];
- * _1 : String[?];
+ * {ast : ecore::EObject[?] = classCS.ast;
+ * name : String[?] = classCS.name;
+ * aClass : classes::Class[1] = ast.oclAsType(classes::Class);
* |
- * _0 := classCS.ast.oclAsType(classes::Class);
- * _1 := name;
- * _0.name := _1;
+ * aClass.name := name;
* }
*
*/
protected boolean MAP_uClass_name(final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull ClassCS classCS_0) throws ReflectiveOperationException {
// predicates
final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class, null);
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class_0, null);
// variable assignments
final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast = classCS_0.getAst();
- final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Class oclAsType = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Class_0));
final /*@Thrown*/ java.lang.@org.eclipse.jdt.annotation.Nullable String name = classCS_0.getName();
+ final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Class oclAsType = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Class_0));
// property assignments
oclAsType.setName(name);
return true;
@@ -299,72 +594,71 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
/**
*
- * map uClass_superClass in classescs2as_qvtp_qvtias {
+ * map uClass_superClass in classescs2as_qvtp_qvtcas {
*
- * leftCS (classCS : classescs::ClassCS[1];
+ * leftCS (classCS : classescs::ClassCS[?];
* |)
* { |}
* rightAS ( |)
* { |}
* where ( |)
- * {_0 : classes::Class[1];
- * _1 : classes::Class[?];
- * |
- * _0 := classCS.ast.oclAsType(classes::Class)
- * ;
- * _1 := if extends = null
+ * {ast : ecore::EObject[?] = classCS.ast;
+ * extends : classescs::PathNameCS[?] = classCS.extends;
+ * aClass : classes::Class[1] = ast.oclAsType(classes::Class);
+ * _'=' : Boolean[1] = extends =
+ * null;
+ * superClass : classes::Class[?] = if _'='
* then null
- * else ast.oclAsType(classes::Class).lookupClass(extends)
+ * else aClass.lookupClass(extends)
* endif;
- * _0.superClass := _1;
+ * |
+ * aClass.superClass := superClass;
* }
*
*/
protected boolean MAP_uClass_superClass(final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull ClassCS classCS_1) throws ReflectiveOperationException {
// predicates
final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class, null);
- final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast = classCS_1.getAst();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class_0, null);
// variable assignments
- final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Class oclAsType = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Class_0));
+ final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast = classCS_1.getAst();
final /*@Thrown*/ example2.classescs.@org.eclipse.jdt.annotation.Nullable PathNameCS symbol_0 = classCS_1.getExtends();
- final /*@Thrown*/ boolean eq = symbol_0 == null;
- /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.Nullable Class symbol_3;
- if (eq) {
- symbol_3 = null;
+ final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Class oclAsType = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Class_0));
+ final /*@Thrown*/ boolean symbol_1 = symbol_0 == null;
+ /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.Nullable Class symbol_4;
+ if (symbol_1) {
+ symbol_4 = null;
}
else {
- final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Class self_1 = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Class_0));
- final /*@Thrown*/ example2.classescs.@org.eclipse.jdt.annotation.Nullable PathNameCS aPathNameCS = classCS_1.getExtends();
- if (aPathNameCS == null) {
+ if (symbol_0 == null) {
throw throwNull(classCS_1, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::PathNameCS::path\'");
}
- final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<PathElementCS> segments_0 = aPathNameCS.getPath();
+ final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<PathElementCS> segments_0 = symbol_0.getPath();
final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_segments_0 = idResolver.createOrderedSetOfAll(ORD_CLSSid_PathElementCS, segments_0);
final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull IntegerValue size = CollectionSizeOperation.INSTANCE.evaluate(BOXED_segments_0);
- final /*@Thrown*/ boolean eq_0 = size.equals(INT_1);
- /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.Nullable Class symbol_2;
- if (eq_0) {
+ final /*@Thrown*/ boolean eq = size.equals(INT_1);
+ /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.Nullable Class symbol_3;
+ if (eq) {
final /*@Thrown*/ example2.classescs.@org.eclipse.jdt.annotation.Nullable PathElementCS aPathElementCS = (PathElementCS)OrderedCollectionFirstOperation.INSTANCE.evaluate(BOXED_segments_0);
if (aPathElementCS == null) {
throw throwNull(classCS_1, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::NamedElementCS::name\'");
}
final /*@Thrown*/ java.lang.@org.eclipse.jdt.annotation.Nullable String name = aPathElementCS.getName();
- ClassesLookupResult<example2.classes.Class> _lookupResult = lookupSolver._lookupClass(self_1, name);
+ ClassesLookupResult<example2.classes.Class> _lookupResult = lookupSolver._lookupClass(oclAsType, name);
example2.classes.Class _lookupClass = null;
if (_lookupResult.size() == 1) {
_lookupClass = _lookupResult.getSingleResult();
} else {
handleLookupError(aPathElementCS,name);
};
- symbol_2 = _lookupClass;
+ symbol_3 = _lookupClass;
}
else {
final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull IntegerValue diff = (IntegerValue)NumericMinusOperation.INSTANCE.evaluate(size, INT_1);
final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue qualifierSegments = OrderedSetSubOrderedSetOperation.INSTANCE.evaluate(BOXED_segments_0, INT_1, diff);
final List<PathElementCS> UNBOXED_qualifierSegments = qualifierSegments.asEcoreObjects(idResolver, PathElementCS.class);
assert UNBOXED_qualifierSegments != null;
- final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.Nullable Package qualifier = this.lookupPackage(self_1, UNBOXED_qualifierSegments);
+ final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.Nullable Package qualifier = this.lookupPackage(oclAsType, UNBOXED_qualifierSegments);
/*@Caught*/ /*@Nullable*/ Object CAUGHT_qualifier;
try {
CAUGHT_qualifier = qualifier;
@@ -372,9 +666,9 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
catch (Exception e) {
CAUGHT_qualifier = ValueUtil.createInvalidValue(e);
}
- final /*@NonInvalid*/ /*@NonNull*/ Object symbol_1 = CAUGHT_qualifier == null;
+ final /*@NonInvalid*/ /*@NonNull*/ Object symbol_2 = CAUGHT_qualifier == null;
/*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.Nullable Class safe_lookupQualifiedClass_source;
- if (symbol_1 == Boolean.TRUE) {
+ if (symbol_2 == Boolean.TRUE) {
safe_lookupQualifiedClass_source = null;
}
else {
@@ -392,153 +686,100 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
};
safe_lookupQualifiedClass_source = _lookupQualifiedClass;
}
- symbol_2 = safe_lookupQualifiedClass_source;
+ symbol_3 = safe_lookupQualifiedClass_source;
}
- symbol_3 = symbol_2;
+ symbol_4 = symbol_3;
}
// property assignments
- oclAsType.setSuperClass(symbol_3);
+ oclAsType.setSuperClass(symbol_4);
return true;
}
/**
*
- * map uPackage_name in classescs2as_qvtp_qvtias {
+ * map _'uPackage_name\\nuPackage_ownedClasses\\nuPackage_ownedPackages' in classescs2as_qvtp_qvtcas {
*
- * leftCS (packageCS : classescs::PackageCS[1];
+ * leftCS (packageCS : classescs::PackageCS[?];
* |)
* { |}
* rightAS ( |)
* { |}
* where ( |)
- * {_0 : classes::Package[1];
- * _1 : String[?];
+ * {ast : ecore::EObject[?] = packageCS.ast;
+ * name : String[?] = packageCS.name;
+ * ownedPackages : OrderedSet(classescs::PackageCS) = packageCS.ownedPackages;
+ * ownedClasses : OrderedSet(classescs::ClassCS) = packageCS.ownedClasses;
+ * aPackage : classes::Package[1] = ast.oclAsType(classes::Package)
+ * ;
+ * _'\\u00ABcollect\\u00BB' : Sequence(classes::Package) = ownedPackages->collect(_'1_' |
+ * _'1_'.ast.oclAsType(classes::Package))
+ * ;
+ * _'\\u00ABcollect\\u00BB1' : Sequence(classes::Class) = ownedClasses->collect(_'1_' |
+ * _'1_'.ast.oclAsType(classes::Class));
* |
- * _0 := packageCS.ast.oclAsType(classes::Package);
- * _1 := name;
- * _0.name := _1;
+ * aPackage.name := name;
+ * aPackage.ownedClasses := _'\\u00ABcollect\\u00BB1';
+ * aPackage.ownedPackages := _'\\u00ABcollect\\u00BB';
* }
*
*/
- protected boolean MAP_uPackage_name(final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS packageCS_0) throws ReflectiveOperationException {
+ protected boolean MAP_uPackage_name_92nuPackage_ownedClasses_92nuPackage_ownedPackages(final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS packageCS_0) throws ReflectiveOperationException {
// predicates
final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null);
// variable assignments
final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast = packageCS_0.getAst();
- final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Package oclAsType = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Package_0));
final /*@Thrown*/ java.lang.@org.eclipse.jdt.annotation.Nullable String name = packageCS_0.getName();
- // property assignments
- oclAsType.setName(name);
- return true;
- }
-
- /**
- *
- * map uPackage_ownedClasses in classescs2as_qvtp_qvtias {
- *
- * leftCS (packageCS : classescs::PackageCS[1];
- * |)
- * { |}
- * rightAS ( |)
- * { |}
- * where ( |)
- * {_0 : classes::Package[1];
- * _1 : Sequence(classes::Class);
- * |
- * _0 := packageCS.ast.oclAsType(classes::Package)
- * ;
- * _1 := ownedClasses.ast.oclAsType(classes::Class);
- * _0.ownedClasses := _1;
- * }
- *
- */
- protected boolean MAP_uPackage_ownedClasses(final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS packageCS_1) throws ReflectiveOperationException {
- // predicates
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null);
- // variable assignments
- final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast = packageCS_1.getAst();
+ final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<PackageCS> ownedPackages = packageCS_0.getOwnedPackages();
+ final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<ClassCS> ownedClasses = packageCS_0.getOwnedClasses();
final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Package oclAsType = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Package_0));
- final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<ClassCS> ownedClasses = packageCS_1.getOwnedClasses();
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedClasses = idResolver.createOrderedSetOfAll(ORD_CLSSid_ClassCS, ownedClasses);
- /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Class);
- /*@Nullable*/ Iterator<?> ITERATOR__1 = BOXED_ownedClasses.iterator();
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedPackages = idResolver.createOrderedSetOfAll(ORD_CLSSid_PackageCS, ownedPackages);
+ /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Package);
+ /*@Nullable*/ Iterator<?> ITERATOR__1 = BOXED_ownedPackages.iterator();
/*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SequenceValue collect;
while (true) {
if (!ITERATOR__1.hasNext()) {
collect = accumulator;
break;
}
- /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.Nullable ClassCS _1 = (ClassCS)ITERATOR__1.next();
+ /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.Nullable PackageCS _1 = (PackageCS)ITERATOR__1.next();
/**
- * ast.oclAsType(classes::Class)
+ * _'1_'.ast.oclAsType(classes::Package)
*/
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class, null);
if (_1 == null) {
- throw throwNull(packageCS_1, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::ElementCS::ast\'");
+ throw throwNull(packageCS_0, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::ElementCS::ast\'");
}
final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast_0 = _1.getAst();
- final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Class oclAsType_0 = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_classes_c_c_Class_0));
+ final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Package oclAsType_0 = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_classes_c_c_Package_0));
//
accumulator.add(oclAsType_0);
}
- // property assignments
- final /*@NonInvalid*/ java.util.@org.eclipse.jdt.annotation.NonNull List<example2.classes.Class> ECORE_collect = ((IdResolver.IdResolverExtension)idResolver).ecoreValueOfAll(example2.classes.Class.class, collect);
- oclAsType.getOwnedClasses().addAll(ECORE_collect);
- return true;
- }
-
- /**
- *
- * map uPackage_ownedPackages in classescs2as_qvtp_qvtias {
- *
- * leftCS (packageCS : classescs::PackageCS[1];
- * |)
- * { |}
- * rightAS ( |)
- * { |}
- * where ( |)
- * {_0 : classes::Package[1];
- * _1 : Sequence(classes::Package);
- * |
- * _0 := packageCS.ast.oclAsType(classes::Package)
- * ;
- * _1 := ownedPackages.ast.oclAsType(classes::Package);
- * _0.ownedPackages := _1;
- * }
- *
- */
- protected boolean MAP_uPackage_ownedPackages(final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS packageCS_2) throws ReflectiveOperationException {
- // predicates
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null);
- // variable assignments
- final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast = packageCS_2.getAst();
- final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Package oclAsType = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Package_0));
- final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<PackageCS> ownedPackages = packageCS_2.getOwnedPackages();
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedPackages = idResolver.createOrderedSetOfAll(ORD_CLSSid_PackageCS, ownedPackages);
- /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Package);
- /*@Nullable*/ Iterator<?> ITERATOR__1 = BOXED_ownedPackages.iterator();
- /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SequenceValue collect;
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedClasses = idResolver.createOrderedSetOfAll(ORD_CLSSid_ClassCS, ownedClasses);
+ /*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator_0 = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Class);
+ /*@Nullable*/ Iterator<?> ITERATOR__1_0 = BOXED_ownedClasses.iterator();
+ /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SequenceValue collect_0;
while (true) {
- if (!ITERATOR__1.hasNext()) {
- collect = accumulator;
+ if (!ITERATOR__1_0.hasNext()) {
+ collect_0 = accumulator_0;
break;
}
- /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.Nullable PackageCS _1 = (PackageCS)ITERATOR__1.next();
+ /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.Nullable ClassCS _1_0 = (ClassCS)ITERATOR__1_0.next();
/**
- * ast.oclAsType(classes::Package)
+ * _'1_'.ast.oclAsType(classes::Class)
*/
- if (_1 == null) {
- throw throwNull(packageCS_2, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::ElementCS::ast\'");
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Class_0 = idResolver.getClass(CLSSid_Class_0, null);
+ if (_1_0 == null) {
+ throw throwNull(packageCS_0, "Null source for \'\'http://cs2as/tests/example2/classescs/1.0\'::ElementCS::ast\'");
}
- final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast_0 = _1.getAst();
- final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Package oclAsType_0 = ClassUtil.nonNullState((Package)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_0, TYP_classes_c_c_Package_0));
+ final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast_1 = _1_0.getAst();
+ final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Class oclAsType_1 = ClassUtil.nonNullState((example2.classes.Class)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast_1, TYP_classes_c_c_Class_0));
//
- accumulator.add(oclAsType_0);
+ accumulator_0.add(oclAsType_1);
}
// property assignments
+ oclAsType.setName(name);
+ final /*@NonInvalid*/ java.util.@org.eclipse.jdt.annotation.NonNull List<example2.classes.Class> ECORE_collect_0 = ((IdResolver.IdResolverExtension)idResolver).ecoreValueOfAll(example2.classes.Class.class, collect_0);
+ oclAsType.getOwnedClasses().addAll(ECORE_collect_0);
final /*@NonInvalid*/ java.util.@org.eclipse.jdt.annotation.NonNull List<Package> ECORE_collect = ((IdResolver.IdResolverExtension)idResolver).ecoreValueOfAll(Package.class, collect);
oclAsType.getOwnedPackages().addAll(ECORE_collect);
return true;
@@ -546,21 +787,22 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
/**
*
- * map uRoot_ownedPackages in classescs2as_qvtp_qvtias {
+ * map uRoot_ownedPackages in classescs2as_qvtp_qvtcas {
*
- * leftCS (rootCS : classescs::RootCS[1];
+ * leftCS (rootCS : classescs::RootCS[?];
* |)
* { |}
* rightAS ( |)
* { |}
* where ( |)
- * {_0 : classes::Root[1];
- * _1 : Sequence(classes::Package);
- * |
- * _0 := rootCS.ast.oclAsType(classes::Root)
+ * {ast : ecore::EObject[?] = rootCS.ast;
+ * ownedPackages : OrderedSet(classescs::PackageCS) = rootCS.ownedPackages;
+ * aRoot : classes::Root[1] = ast.oclAsType(classes::Root)
* ;
- * _1 := ownedPackages.ast.oclAsType(classes::Package);
- * _0.ownedPackages := _1;
+ * _'\\u00ABcollect\\u00BB' : Sequence(classes::Package) = ownedPackages->collect(_'1_' |
+ * _'1_'.ast.oclAsType(classes::Package));
+ * |
+ * aRoot.ownedPackages := _'\\u00ABcollect\\u00BB';
* }
*
*/
@@ -570,9 +812,9 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Root_0 = idResolver.getClass(CLSSid_Root, null);
// variable assignments
final /*@Thrown*/ org.eclipse.emf.ecore.@org.eclipse.jdt.annotation.Nullable EObject ast = rootCS_0.getAst();
- final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Root oclAsType = ClassUtil.nonNullState((Root)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Root_0));
final /*@Thrown*/ java.util.@org.eclipse.jdt.annotation.NonNull List<PackageCS> ownedPackages = rootCS_0.getOwnedPackages();
- final /*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedPackages = idResolver.createOrderedSetOfAll(ORD_CLSSid_PackageCS, ownedPackages);
+ final /*@Thrown*/ example2.classes.@org.eclipse.jdt.annotation.NonNull Root oclAsType = ClassUtil.nonNullState((Root)OclAnyOclAsTypeOperation.INSTANCE.evaluate(executor, ast, TYP_classes_c_c_Root_0));
+ final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull OrderedSetValue BOXED_ownedPackages = idResolver.createOrderedSetOfAll(ORD_CLSSid_PackageCS, ownedPackages);
/*@Thrown*/ SequenceValue.@org.eclipse.jdt.annotation.NonNull Accumulator accumulator = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Package);
/*@Nullable*/ Iterator<?> ITERATOR__1 = BOXED_ownedPackages.iterator();
/*@Thrown*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SequenceValue collect;
@@ -583,7 +825,7 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
}
/*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.Nullable PackageCS _1 = (PackageCS)ITERATOR__1.next();
/**
- * ast.oclAsType(classes::Package)
+ * _'1_'.ast.oclAsType(classes::Package)
*/
final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classes_c_c_Package_0 = idResolver.getClass(CLSSid_Package, null);
if (_1 == null) {
@@ -599,123 +841,4 @@ public class classescs2as_qvtp_qvtias extends AbstractCS2ASTransformer
oclAsType.getOwnedPackages().addAll(ECORE_collect);
return true;
}
-
- /**
- *
- * map __root__ in classescs2as_qvtp_qvtias {
- *
- * where ( |)
- * { |}
- * for rootCS : classescs::RootCS in classescs::RootCS.allInstances()
- * {
- * map cRootCS_2_Root {
- * rootCS := rootCS;
- * }}
- * for packageCS : classescs::PackageCS in classescs::PackageCS.allInstances()
- * {
- * map cPackageCS_2_Package {
- * packageCS := packageCS;
- * }}
- * for rootCS : classescs::RootCS in classescs::RootCS.allInstances()
- * {
- * map uRoot_ownedPackages {
- * rootCS := rootCS;
- * }}
- * for packageCS : classescs::PackageCS in classescs::PackageCS.allInstances()
- * {
- * map uPackage_name {
- * packageCS := packageCS;
- * }}
- * for classCS : classescs::ClassCS in classescs::ClassCS.allInstances()
- * {
- * map cClassCS_2_Class {
- * classCS := classCS;
- * }}
- * for packageCS : classescs::PackageCS in classescs::PackageCS.allInstances()
- * {
- * map uPackage_ownedClasses {
- * packageCS := packageCS;
- * }}
- * for packageCS : classescs::PackageCS in classescs::PackageCS.allInstances()
- * {
- * map uPackage_ownedPackages {
- * packageCS := packageCS;
- * }}
- * for classCS : classescs::ClassCS in classescs::ClassCS.allInstances()
- * {
- * map uClass_name {
- * classCS := classCS;
- * }}
- * for classCS : classescs::ClassCS in classescs::ClassCS.allInstances()
- * {
- * map uClass_superClass {
- * classCS := classCS;
- * }}
- */
- protected boolean MAP___root__() throws ReflectiveOperationException {
- // predicates
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.ids.@org.eclipse.jdt.annotation.NonNull IdResolver idResolver = executor.getIdResolver();
- // mapping statements
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classescs_c_c_ClassCS_2 = idResolver.getClass(CLSSid_ClassCS, null);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classescs_c_c_PackageCS_3 = idResolver.getClass(CLSSid_PackageCS, null);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.@org.eclipse.jdt.annotation.NonNull Class TYP_classescs_c_c_RootCS_1 = idResolver.getClass(CLSSid_RootCS, null);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SetValue allInstances_6 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_ClassCS, TYP_classescs_c_c_ClassCS_2);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SetValue allInstances_2 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_PackageCS, TYP_classescs_c_c_PackageCS_3);
- final /*@NonInvalid*/ org.eclipse.ocl.pivot.values.@org.eclipse.jdt.annotation.NonNull SetValue allInstances_1 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_RootCS, TYP_classescs_c_c_RootCS_1);
- for (RootCS rootCS_3 : ValueUtil.typedIterable(RootCS.class, allInstances_1)) {
- if (rootCS_3 != null) {
- final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull RootCS symbol_0 = (RootCS)rootCS_3;
- MAP_cRootCS_2_Root(symbol_0);
- }
- }
- for (PackageCS packageCS_7 : ValueUtil.typedIterable(PackageCS.class, allInstances_2)) {
- if (packageCS_7 != null) {
- final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS symbol_3 = (PackageCS)packageCS_7;
- MAP_cPackageCS_2_Package(symbol_3);
- }
- }
- for (RootCS rootCS_4 : ValueUtil.typedIterable(RootCS.class, allInstances_1)) {
- if (rootCS_4 != null) {
- final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull RootCS symbol_6 = (RootCS)rootCS_4;
- MAP_uRoot_ownedPackages(symbol_6);
- }
- }
- for (PackageCS packageCS_8 : ValueUtil.typedIterable(PackageCS.class, allInstances_2)) {
- if (packageCS_8 != null) {
- final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS symbol_9 = (PackageCS)packageCS_8;
- MAP_uPackage_name(symbol_9);
- }
- }
- for (ClassCS classCS_5 : ValueUtil.typedIterable(ClassCS.class, allInstances_6)) {
- if (classCS_5 != null) {
- final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull ClassCS symbol_12 = (ClassCS)classCS_5;
- MAP_cClassCS_2_Class(symbol_12);
- }
- }
- for (PackageCS packageCS_9 : ValueUtil.typedIterable(PackageCS.class, allInstances_2)) {
- if (packageCS_9 != null) {
- final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS symbol_15 = (PackageCS)packageCS_9;
- MAP_uPackage_ownedClasses(symbol_15);
- }
- }
- for (PackageCS packageCS_10 : ValueUtil.typedIterable(PackageCS.class, allInstances_2)) {
- if (packageCS_10 != null) {
- final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull PackageCS symbol_18 = (PackageCS)packageCS_10;
- MAP_uPackage_ownedPackages(symbol_18);
- }
- }
- for (ClassCS classCS_6 : ValueUtil.typedIterable(ClassCS.class, allInstances_6)) {
- if (classCS_6 != null) {
- final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull ClassCS symbol_21 = (ClassCS)classCS_6;
- MAP_uClass_name(symbol_21);
- }
- }
- for (ClassCS classCS_7 : ValueUtil.typedIterable(ClassCS.class, allInstances_6)) {
- if (classCS_7 != null) {
- final /*@NonInvalid*/ example2.classescs.@org.eclipse.jdt.annotation.NonNull ClassCS symbol_24 = (ClassCS)classCS_7;
- MAP_uClass_superClass(symbol_24);
- }
- }
- return true;
- }
}

Back to the top