blob: c7d18e9acb149f0b74b255492af63dc65d131daf [file] [log] [blame]
/*******************************************************************************
* «codeGenHelper.getCopyright(' * ')»
*
* This code is 100% auto-generated
* using: org.eclipse.ocl.examples.codegen.java.JavaStream
*
* Do not edit it.
********************************************************************************/
package cg._classescs2as;
import classes.ClassesFactory;
import classes.ClassesPackage;
import classes.Package;
import classes.Root;
import classescs.ClassCS;
import classescs.ClassescsPackage;
import classescs.PackageCS;
import classescs.RootCS;
import classescstraces.ClassCS2Class;
import classescstraces.ClassescstracesFactory;
import classescstraces.ClassescstracesPackage;
import classescstraces.PackageCS2Package;
import classescstraces.RootCS2Root;
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.classifier.ClassifierAllInstancesOperation;
import org.eclipse.ocl.pivot.library.collection.CollectionAsOrderedSetOperation;
import org.eclipse.ocl.pivot.utilities.ClassUtil;
import org.eclipse.ocl.pivot.utilities.ValueUtil;
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.qvtd.pivot.qvtbase.evaluation.AbstractTransformer;
/**
* The classescs2as transformation:
* <p>
* Construct with an evaluator
* <br>
* Populate each input model with {@link addRootObjects(String,List)}
* <br>
* {@link run()}
* <br>
* Extract each output model with {@link getRootObjects(String)}
*/
@SuppressWarnings("nls")
public class classescs2as extends AbstractTransformer
{
public static final @NonNull /*@NonInvalid*/ RootPackageId PACKid_$metamodel$ = IdManager.getRootPackageId("$metamodel$");
public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_ocldependencyanalysis_s_classes_s_1_0 = IdManager.getNsURIPackageId("http://ocldependencyanalysis/classes/1.0", null, ClassesPackage.eINSTANCE);
public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_ocldependencyanalysis_s_classescs_s_1_0 = IdManager.getNsURIPackageId("http://ocldependencyanalysis/classescs/1.0", null, ClassescsPackage.eINSTANCE);
public static final @NonNull /*@NonInvalid*/ NsURIPackageId PACKid_http_c_s_s_tracesmodel_s_1_0_s_classescstraces = IdManager.getNsURIPackageId("http://tracesmodel/1.0/classescstraces", null, ClassescstracesPackage.eINSTANCE);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Class = PACKid_http_c_s_s_ocldependencyanalysis_s_classes_s_1_0.getClassId("Class", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_ClassCS = PACKid_http_c_s_s_ocldependencyanalysis_s_classescs_s_1_0.getClassId("ClassCS", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_ClassCS2Class = PACKid_http_c_s_s_tracesmodel_s_1_0_s_classescstraces.getClassId("ClassCS2Class", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Class_0 = PACKid_$metamodel$.getClassId("Class", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Package = PACKid_http_c_s_s_ocldependencyanalysis_s_classes_s_1_0.getClassId("Package", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_PackageCS = PACKid_http_c_s_s_ocldependencyanalysis_s_classescs_s_1_0.getClassId("PackageCS", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_PackageCS2Package = PACKid_http_c_s_s_tracesmodel_s_1_0_s_classescstraces.getClassId("PackageCS2Package", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_Root = PACKid_http_c_s_s_ocldependencyanalysis_s_classes_s_1_0.getClassId("Root", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_RootCS = PACKid_http_c_s_s_ocldependencyanalysis_s_classescs_s_1_0.getClassId("RootCS", 0);
public static final @NonNull /*@NonInvalid*/ ClassId CLSSid_RootCS2Root = PACKid_http_c_s_s_tracesmodel_s_1_0_s_classescstraces.getClassId("RootCS2Root", 0);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_Class = TypeId.ORDERED_SET.getSpecializedId(CLSSid_Class);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_ClassCS = TypeId.ORDERED_SET.getSpecializedId(CLSSid_ClassCS);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_Package = TypeId.ORDERED_SET.getSpecializedId(CLSSid_Package);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId ORD_CLSSid_PackageCS = TypeId.ORDERED_SET.getSpecializedId(CLSSid_PackageCS);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SEQ_CLSSid_Class = TypeId.SEQUENCE.getSpecializedId(CLSSid_Class);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SEQ_CLSSid_ClassCS2Class = TypeId.SEQUENCE.getSpecializedId(CLSSid_ClassCS2Class);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SEQ_CLSSid_Package = TypeId.SEQUENCE.getSpecializedId(CLSSid_Package);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SEQ_CLSSid_PackageCS2Package = TypeId.SEQUENCE.getSpecializedId(CLSSid_PackageCS2Package);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_Class = TypeId.SET.getSpecializedId(CLSSid_Class);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_ClassCS = TypeId.SET.getSpecializedId(CLSSid_ClassCS);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_ClassCS2Class = TypeId.SET.getSpecializedId(CLSSid_ClassCS2Class);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_Package = TypeId.SET.getSpecializedId(CLSSid_Package);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_PackageCS = TypeId.SET.getSpecializedId(CLSSid_PackageCS);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_PackageCS2Package = TypeId.SET.getSpecializedId(CLSSid_PackageCS2Package);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_Root = TypeId.SET.getSpecializedId(CLSSid_Root);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_RootCS = TypeId.SET.getSpecializedId(CLSSid_RootCS);
public static final @NonNull /*@NonInvalid*/ CollectionTypeId SET_CLSSid_RootCS2Root = TypeId.SET.getSpecializedId(CLSSid_RootCS2Root);
/*
* Property-source to Property-target unnavigable navigation caches
*/
protected final @NonNull Map<ClassCS,ClassCS2Class> OPPOSITE_OF_ClassCS2Class_classCS = new HashMap<ClassCS,ClassCS2Class>();
protected final @NonNull Map<PackageCS,PackageCS2Package> OPPOSITE_OF_PackageCS2Package_packageCS = new HashMap<PackageCS,PackageCS2Package>();
protected final @NonNull Map<RootCS,RootCS2Root> OPPOSITE_OF_RootCS2Root_rootCS = new HashMap<RootCS,RootCS2Root>();
/*
* 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_Class, // 0 => Class
CLSSid_ClassCS, // 1 => ClassCS
CLSSid_ClassCS2Class, // 2 => ClassCS2Class
CLSSid_Package, // 3 => Package
CLSSid_PackageCS, // 4 => PackageCS
CLSSid_PackageCS2Package, // 5 => PackageCS2Package
CLSSid_Root, // 6 => Root
CLSSid_RootCS, // 7 => RootCS
CLSSid_RootCS2Root // 8 => RootCS2Root
};
/*
* 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 : Class -> {Class}
{1}, // 1 : ClassCS -> {ClassCS}
{2}, // 2 : ClassCS2Class -> {ClassCS2Class}
{3}, // 3 : Package -> {Package}
{4}, // 4 : PackageCS -> {PackageCS}
{5}, // 5 : PackageCS2Package -> {PackageCS2Package}
{6}, // 6 : Root -> {Root}
{7}, // 7 : RootCS -> {RootCS}
{8} // 8 : RootCS2Root -> {RootCS2Root}
};
public classescs2as(final @NonNull Executor executor) throws ReflectiveOperationException {
super(executor, new String[] {"leftCS", "rightAS", "middle"}, null, classIndex2classId, classIndex2allClassIndexes);
}
public boolean run() throws ReflectiveOperationException {
boolean returnStatus = MAP___root__();
invocationManager.flush();
return returnStatus;
}
/**
*
* map mClassCS2Class_LM in classescs2as {
* leftCS (classCS : classescs::ClassCS[?];
* |)
* { |}
* middle ( |)
* {realize c2c : classescstraces::ClassCS2Class[?];
* |}
* where ( |)
* { |
* c2c.classCS := classCS;
* }
*
*/
protected boolean MAP_mClassCS2Class_LM(final @NonNull /*@NonInvalid*/ ClassCS classCS) throws ReflectiveOperationException {
// predicates
// creations
final /*@Thrown*/ ClassCS2Class c2c_0 = ClassescstracesFactory.eINSTANCE.createClassCS2Class();
assert c2c_0 != null;
models[2/*middle*/].add(c2c_0);
// property assignments
c2c_0.setClassCS(classCS);
OPPOSITE_OF_ClassCS2Class_classCS.put(classCS, c2c_0);
return true;
}
/**
*
* map mRootCS2Root_LM in classescs2as {
* leftCS (rootCS : classescs::RootCS[?];
* |)
* { |}
* middle ( |)
* {realize r2r : classescstraces::RootCS2Root[?];
* |}
* where ( |)
* { |
* r2r.rootCS := rootCS;
* }
*
*/
protected boolean MAP_mRootCS2Root_LM(final @NonNull /*@NonInvalid*/ RootCS rootCS) throws ReflectiveOperationException {
// predicates
// creations
final /*@Thrown*/ RootCS2Root r2r_0 = ClassescstracesFactory.eINSTANCE.createRootCS2Root();
assert r2r_0 != null;
models[2/*middle*/].add(r2r_0);
// property assignments
r2r_0.setRootCS(rootCS);
OPPOSITE_OF_RootCS2Root_rootCS.put(rootCS, r2r_0);
return true;
}
/**
*
* map mPackageCS2Package_LM in classescs2as {
* leftCS (packageCS : classescs::PackageCS[?];
* |)
* { |}
* middle ( |)
* {realize p2p : classescstraces::PackageCS2Package[?];
* |}
* where ( |)
* { |
* p2p.packageCS := packageCS;
* }
*
*/
protected boolean MAP_mPackageCS2Package_LM(final @NonNull /*@NonInvalid*/ PackageCS packageCS) throws ReflectiveOperationException {
// predicates
// creations
final /*@Thrown*/ PackageCS2Package p2p_0 = ClassescstracesFactory.eINSTANCE.createPackageCS2Package();
assert p2p_0 != null;
models[2/*middle*/].add(p2p_0);
// property assignments
p2p_0.setPackageCS(packageCS);
OPPOSITE_OF_PackageCS2Package_packageCS.put(packageCS, p2p_0);
return true;
}
/**
*
* map mClassCS2Class_MR in classescs2as {
* middle (c2c : classescstraces::ClassCS2Class[?];
* |)
* { |}
* rightAS ( |)
* {realize class : classes::Class[?];
* |}
* where ( |)
* { |
* c2c.class := class;
* }
*
*/
protected boolean MAP_mClassCS2Class_MR(final @NonNull /*@NonInvalid*/ ClassCS2Class c2c) throws ReflectiveOperationException {
// predicates
// creations
final /*@Thrown*/ classes.Class symbol_3 = ClassesFactory.eINSTANCE.createClass();
assert symbol_3 != null;
models[1/*rightAS*/].add(symbol_3);
// property assignments
c2c.setClass(symbol_3);
return true;
}
/**
*
* map mRootCS2Root_MR in classescs2as {
* middle (r2r : classescstraces::RootCS2Root[?];
* |)
* { |}
* rightAS ( |)
* {realize root : classes::Root[?];
* |}
* where ( |)
* { |
* r2r.root := root;
* }
*
*/
protected boolean MAP_mRootCS2Root_MR(final @NonNull /*@NonInvalid*/ RootCS2Root r2r) throws ReflectiveOperationException {
// predicates
// creations
final /*@Thrown*/ Root root_0 = ClassesFactory.eINSTANCE.createRoot();
assert root_0 != null;
models[1/*rightAS*/].add(root_0);
// property assignments
r2r.setRoot(root_0);
return true;
}
/**
*
* map mPackageCS2Package_MR in classescs2as {
* middle (p2p : classescstraces::PackageCS2Package[?];
* |)
* { |}
* rightAS ( |)
* {realize package : classes::Package[?];
* |}
* where ( |)
* { |
* p2p.package := package;
* }
*
*/
protected boolean MAP_mPackageCS2Package_MR(final @NonNull /*@NonInvalid*/ PackageCS2Package p2p) throws ReflectiveOperationException {
// predicates
// creations
final /*@Thrown*/ Package symbol_3 = ClassesFactory.eINSTANCE.createPackage();
assert symbol_3 != null;
models[1/*rightAS*/].add(symbol_3);
// property assignments
p2p.setPackage(symbol_3);
return true;
}
/**
*
* map uClass_name in classescs2as {
* rightAS (class : classes::Class[?];
* |)
* { |}
* leftCS (classCS : classescs::ClassCS[?];
* |)
* { |}
* where ( |
* classCS.ClassCS2Class.class = class)
* {_0 : String[?];
* |
* _0 := classCS.name;
* class.name := _0;
* }
*
*/
protected boolean MAP_uClass_name(final @NonNull /*@NonInvalid*/ classes.Class symbol_0, final @NonNull /*@NonInvalid*/ ClassCS classCS_0) throws ReflectiveOperationException {
// predicates
final @NonNull /*@Thrown*/ ClassCS2Class ClassCS2Class = ClassUtil.nonNullState (OPPOSITE_OF_ClassCS2Class_classCS.get(classCS_0));
@SuppressWarnings("null")
final @NonNull /*@Thrown*/ classes.Class symbol_3 = ClassCS2Class.getClass_();
final /*@Thrown*/ boolean eq = symbol_3.equals(symbol_0);
if (!eq) {
return false;
}
// variable assignments
final @Nullable /*@Thrown*/ String name = classCS_0.getName();
// property assignments
symbol_0.setName(name);
return true;
}
/**
*
* map uRoot_ownedPackages in classescs2as {
* rightAS (root : classes::Root[?];
* |)
* { |}
* leftCS (rootCS : classescs::RootCS[?];
* |)
* { |}
* where ( |
* rootCS.RootCS2Root.root =
* root)
* {_0 : OrderedSet(classes::Package[*|1]);
* |
* _0 := rootCS.ownedPackages.PackageCS2Package.package->asOrderedSet();
* root.ownedPackages := _0;
* }
*
*/
protected boolean MAP_uRoot_ownedPackages(final @NonNull /*@NonInvalid*/ Root root, final @NonNull /*@NonInvalid*/ RootCS rootCS_0) throws ReflectiveOperationException {
// predicates
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();
final /*@Thrown*/ boolean eq = root_0.equals(root);
if (!eq) {
return false;
}
// variable assignments
@SuppressWarnings("null")
final @NonNull /*@Thrown*/ List<PackageCS> 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_PackageCS2Package);
@Nullable Iterator<?> ITERATOR__1 = BOXED_ownedPackages.iterator();
@NonNull /*@Thrown*/ SequenceValue collect_0;
while (true) {
if (!ITERATOR__1.hasNext()) {
collect_0 = accumulator;
break;
}
@Nullable /*@NonInvalid*/ PackageCS _1 = (PackageCS)ITERATOR__1.next();
/**
* PackageCS2Package
*/
if (_1 == null) {
throw new InvalidValueException("Null source for \'\'http://tracesmodel/1.0/classescstraces\'::PackageCS2Package::packageCS\'");
}
final @NonNull /*@Thrown*/ PackageCS2Package PackageCS2Package = ClassUtil.nonNullState (OPPOSITE_OF_PackageCS2Package_packageCS.get(_1));
//
accumulator.add(PackageCS2Package);
}
@NonNull /*@Thrown*/ SequenceValue.Accumulator accumulator_0 = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Package);
@NonNull Iterator<?> ITERATOR__1_0 = collect_0.iterator();
@NonNull /*@Thrown*/ SequenceValue collect;
while (true) {
if (!ITERATOR__1_0.hasNext()) {
collect = accumulator_0;
break;
}
@SuppressWarnings("null")
@NonNull /*@NonInvalid*/ PackageCS2Package _1_0 = (PackageCS2Package)ITERATOR__1_0.next();
/**
* package
*/
@SuppressWarnings("null")
final @NonNull /*@Thrown*/ Package symbol_3 = _1_0.getPackage();
//
accumulator_0.add(symbol_3);
}
final @NonNull /*@Thrown*/ OrderedSetValue asOrderedSet = CollectionAsOrderedSetOperation.INSTANCE.evaluate(collect);
// property assignments
final @NonNull /*@NonInvalid*/ List<Package> ECORE_asOrderedSet = ((IdResolver.IdResolverExtension)idResolver).ecoreValueOfAll(Package.class, asOrderedSet);
root.getOwnedPackages().addAll(ECORE_asOrderedSet);
return true;
}
/**
*
* map uPackage_name in classescs2as {
* rightAS (package : classes::Package[?];
* |)
* { |}
* leftCS (packageCS : classescs::PackageCS[?];
* |)
* { |}
* where ( |
* packageCS.PackageCS2Package.package = package)
* {_0 : String[?];
* |
* _0 := packageCS.name;
* package.name := _0;
* }
*
*/
protected boolean MAP_uPackage_name(final @NonNull /*@NonInvalid*/ Package symbol_1, final @NonNull /*@NonInvalid*/ PackageCS packageCS_0) throws ReflectiveOperationException {
// predicates
final @NonNull /*@Thrown*/ PackageCS2Package PackageCS2Package = ClassUtil.nonNullState (OPPOSITE_OF_PackageCS2Package_packageCS.get(packageCS_0));
@SuppressWarnings("null")
final @NonNull /*@Thrown*/ Package symbol_3 = PackageCS2Package.getPackage();
final /*@Thrown*/ boolean eq = symbol_3.equals(symbol_1);
if (!eq) {
return false;
}
// variable assignments
final @Nullable /*@Thrown*/ String name = packageCS_0.getName();
// property assignments
symbol_1.setName(name);
return true;
}
/**
*
* map uPackage_ownedClasses in classescs2as {
* rightAS (package : classes::Package[?];
* |)
* { |}
* leftCS (packageCS : classescs::PackageCS[?];
* |)
* { |}
* where ( |
* packageCS.PackageCS2Package.package =
* package)
* {_0 : OrderedSet(classes::Class[*|1]);
* |
* _0 := packageCS.ownedClasses.ClassCS2Class.class->asOrderedSet();
* package.ownedClasses := _0;
* }
*
*/
protected boolean MAP_uPackage_ownedClasses(final @NonNull /*@NonInvalid*/ Package symbol_2, final @NonNull /*@NonInvalid*/ PackageCS packageCS_1) throws ReflectiveOperationException {
// predicates
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();
final /*@Thrown*/ boolean eq = symbol_3.equals(symbol_2);
if (!eq) {
return false;
}
// variable assignments
@SuppressWarnings("null")
final @NonNull /*@Thrown*/ List<ClassCS> 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_ClassCS2Class);
@Nullable Iterator<?> ITERATOR__1 = BOXED_ownedClasses.iterator();
@NonNull /*@Thrown*/ SequenceValue collect_0;
while (true) {
if (!ITERATOR__1.hasNext()) {
collect_0 = accumulator;
break;
}
@Nullable /*@NonInvalid*/ ClassCS _1 = (ClassCS)ITERATOR__1.next();
/**
* ClassCS2Class
*/
if (_1 == null) {
throw new InvalidValueException("Null source for \'\'http://tracesmodel/1.0/classescstraces\'::ClassCS2Class::classCS\'");
}
final @NonNull /*@Thrown*/ ClassCS2Class ClassCS2Class = ClassUtil.nonNullState (OPPOSITE_OF_ClassCS2Class_classCS.get(_1));
//
accumulator.add(ClassCS2Class);
}
@NonNull /*@Thrown*/ SequenceValue.Accumulator accumulator_0 = ValueUtil.createSequenceAccumulatorValue(SEQ_CLSSid_Class);
@NonNull Iterator<?> ITERATOR__1_0 = collect_0.iterator();
@NonNull /*@Thrown*/ SequenceValue collect;
while (true) {
if (!ITERATOR__1_0.hasNext()) {
collect = accumulator_0;
break;
}
@SuppressWarnings("null")
@NonNull /*@NonInvalid*/ ClassCS2Class _1_0 = (ClassCS2Class)ITERATOR__1_0.next();
/**
* class
*/
@SuppressWarnings("null")
final @NonNull /*@Thrown*/ classes.Class symbol_4 = _1_0.getClass_();
//
accumulator_0.add(symbol_4);
}
final @NonNull /*@Thrown*/ OrderedSetValue asOrderedSet = CollectionAsOrderedSetOperation.INSTANCE.evaluate(collect);
// property assignments
final @NonNull /*@NonInvalid*/ List<classes.Class> ECORE_asOrderedSet = ((IdResolver.IdResolverExtension)idResolver).ecoreValueOfAll(classes.Class.class, asOrderedSet);
symbol_2.getOwnedClasses().addAll(ECORE_asOrderedSet);
return true;
}
/**
*
* map __root__ in classescs2as {
*
* where ( |)
* { |}
* for packageCS : classescs::PackageCS in classescs::PackageCS.allInstances()
* {
* map mPackageCS2Package_LM {
* packageCS := packageCS;
* }}
* for p2p : classescstraces::PackageCS2Package in classescstraces::PackageCS2Package.allInstances()
* {
* map mPackageCS2Package_MR {
* p2p := p2p;
* }}
* for package : classes::Package in classes::Package.allInstances()
* {
*
* for packageCS : classescs::PackageCS in classescs::PackageCS.allInstances()
* {
* map uPackage_name {
* package := package;
* packageCS := packageCS;
* }}}
* for package : classes::Package in classes::Package.allInstances()
* {
*
* for packageCS : classescs::PackageCS in classescs::PackageCS.allInstances()
* {
*
* map uPackage_ownedClasses {
* package := package;
* packageCS := packageCS;
* }}}
* for classCS : classescs::ClassCS in classescs::ClassCS.allInstances()
* {
* map mClassCS2Class_LM {
* classCS := classCS;
* }}
* for c2c : classescstraces::ClassCS2Class in classescstraces::ClassCS2Class.allInstances()
* {
* map mClassCS2Class_MR {
* c2c := c2c;
* }}
* for classCS : classescs::ClassCS in classescs::ClassCS.allInstances()
* {
*
* for class : classes::Class in classes::Class.allInstances()
* {
* map uClass_name {
* class := class;
* classCS := classCS;
* }}}
* for rootCS : classescs::RootCS in classescs::RootCS.allInstances()
* {
* map mRootCS2Root_LM {
* rootCS := rootCS;
* }}
* for r2r : classescstraces::RootCS2Root in classescstraces::RootCS2Root.allInstances()
* {
* map mRootCS2Root_MR {
* r2r := r2r;
* }}
* for rootCS : classescs::RootCS in classescs::RootCS.allInstances()
* {
*
* for root : classes::Root in classes::Root.allInstances()
* {
* map uRoot_ownedPackages {
* root := root;
* rootCS := rootCS;
* }}}
*/
protected boolean MAP___root__() throws ReflectiveOperationException {
// predicates
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);
final @NonNull /*@NonInvalid*/ org.eclipse.ocl.pivot.Class TYP_classescs_c_c_RootCS_1 = idResolver.getClass(CLSSid_RootCS, null);
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(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);
// mapping statements
for (PackageCS packageCS_5 : ValueUtil.typedIterable(PackageCS.class, allInstances)) {
if (packageCS_5 != null) {
final @NonNull /*@NonInvalid*/ PackageCS symbol_7 = (PackageCS)packageCS_5;
if (symbol_7 != null) {
MAP_mPackageCS2Package_LM(symbol_7);
}
}
}
final @NonNull /*@NonInvalid*/ SetValue allInstances_0 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_PackageCS2Package, TYP_classescstraces_c_c_PackageCS2Package_0);
for (PackageCS2Package p2p_1 : ValueUtil.typedIterable(PackageCS2Package.class, allInstances_0)) {
if (p2p_1 != null) {
final @NonNull /*@NonInvalid*/ PackageCS2Package symbol_11 = (PackageCS2Package)p2p_1;
if (symbol_11 != null) {
MAP_mPackageCS2Package_MR(symbol_11);
}
}
}
for (Package symbol_21 : ValueUtil.typedIterable(Package.class, allInstances_3)) {
if (symbol_21 != null) {
for (PackageCS packageCS_6 : ValueUtil.typedIterable(PackageCS.class, allInstances)) {
if (packageCS_6 != null) {
final @NonNull /*@NonInvalid*/ Package symbol_16 = (Package)symbol_21;
final @NonNull /*@NonInvalid*/ PackageCS symbol_17 = (PackageCS)packageCS_6;
if (symbol_16 != null) {
if (symbol_17 != null) {
MAP_uPackage_name(symbol_16, symbol_17);
}
}
}
}
}
}
for (Package symbol_29 : ValueUtil.typedIterable(Package.class, allInstances_3)) {
if (symbol_29 != null) {
for (PackageCS packageCS_7 : ValueUtil.typedIterable(PackageCS.class, allInstances)) {
if (packageCS_7 != null) {
final @NonNull /*@NonInvalid*/ Package symbol_24 = (Package)symbol_29;
final @NonNull /*@NonInvalid*/ PackageCS symbol_25 = (PackageCS)packageCS_7;
if (symbol_24 != null) {
if (symbol_25 != null) {
MAP_uPackage_ownedClasses(symbol_24, symbol_25);
}
}
}
}
}
}
for (ClassCS classCS_3 : ValueUtil.typedIterable(ClassCS.class, allInstances_7)) {
if (classCS_3 != null) {
final @NonNull /*@NonInvalid*/ ClassCS symbol_31 = (ClassCS)classCS_3;
if (symbol_31 != null) {
MAP_mClassCS2Class_LM(symbol_31);
}
}
}
final @NonNull /*@NonInvalid*/ SetValue allInstances_6 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_ClassCS2Class, TYP_classescstraces_c_c_ClassCS2Class_0);
for (ClassCS2Class c2c_1 : ValueUtil.typedIterable(ClassCS2Class.class, allInstances_6)) {
if (c2c_1 != null) {
final @NonNull /*@NonInvalid*/ ClassCS2Class symbol_35 = (ClassCS2Class)c2c_1;
if (symbol_35 != null) {
MAP_mClassCS2Class_MR(symbol_35);
}
}
}
for (ClassCS classCS_4 : ValueUtil.typedIterable(ClassCS.class, 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(executor, SET_CLSSid_Class, TYP_classes_c_c_Class_0);
for (classes.Class symbol_44 : ValueUtil.typedIterable(classes.Class.class, allInstances_8)) {
if (symbol_44 != null) {
final @NonNull /*@NonInvalid*/ classes.Class symbol_40 = (classes.Class)symbol_44;
final @NonNull /*@NonInvalid*/ ClassCS symbol_41 = (ClassCS)classCS_4;
if (symbol_40 != null) {
if (symbol_41 != null) {
MAP_uClass_name(symbol_40, symbol_41);
}
}
}
}
}
}
for (RootCS rootCS_3 : ValueUtil.typedIterable(RootCS.class, allInstances_11)) {
if (rootCS_3 != null) {
final @NonNull /*@NonInvalid*/ RootCS symbol_47 = (RootCS)rootCS_3;
if (symbol_47 != null) {
MAP_mRootCS2Root_LM(symbol_47);
}
}
}
final @NonNull /*@NonInvalid*/ SetValue allInstances_10 = ClassifierAllInstancesOperation.INSTANCE.evaluate(executor, SET_CLSSid_RootCS2Root, TYP_classescstraces_c_c_RootCS2Root_0);
for (RootCS2Root r2r_1 : ValueUtil.typedIterable(RootCS2Root.class, allInstances_10)) {
if (r2r_1 != null) {
final @NonNull /*@NonInvalid*/ RootCS2Root symbol_51 = (RootCS2Root)r2r_1;
if (symbol_51 != null) {
MAP_mRootCS2Root_MR(symbol_51);
}
}
}
for (RootCS rootCS_4 : ValueUtil.typedIterable(RootCS.class, 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(executor, SET_CLSSid_Root, TYP_classes_c_c_Root_0);
for (Root root_1 : ValueUtil.typedIterable(Root.class, allInstances_12)) {
if (root_1 != null) {
final @NonNull /*@NonInvalid*/ Root symbol_56 = (Root)root_1;
final @NonNull /*@NonInvalid*/ RootCS symbol_57 = (RootCS)rootCS_4;
if (symbol_56 != null) {
if (symbol_57 != null) {
MAP_uRoot_ownedPackages(symbol_56, symbol_57);
}
}
}
}
}
}
return true;
}
}