From 4fe7fce97aedbd516109ef81afc33e00112b7b68 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Fri, 28 Aug 2020 18:58:37 +0200 Subject: Must unit propagation --- .../ecore-gen/modes3/Modes3Factory.java | 9 +++ .../ecore-gen/modes3/Modes3ModelRoot.java | 4 +- .../ecore-gen/modes3/Modes3Package.java | 76 ++++++++++++++++++++++ .../ecore-gen/modes3/SimpleSegment.java | 17 +++++ .../ecore-gen/modes3/impl/Modes3FactoryImpl.java | 11 ++++ .../ecore-gen/modes3/impl/Modes3ModelRootImpl.java | 10 +-- .../ecore-gen/modes3/impl/Modes3PackageImpl.java | 24 ++++++- .../ecore-gen/modes3/impl/SimpleSegmentImpl.java | 37 +++++++++++ .../modes3/util/Modes3AdapterFactory.java | 18 +++++ .../ecore-gen/modes3/util/Modes3Switch.java | 22 +++++++ 10 files changed, 220 insertions(+), 8 deletions(-) create mode 100644 Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/SimpleSegment.java create mode 100644 Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/SimpleSegmentImpl.java (limited to 'Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3') diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3Factory.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3Factory.java index 73188db1..10ce47a1 100644 --- a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3Factory.java +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3Factory.java @@ -57,6 +57,15 @@ public interface Modes3Factory extends EFactory { */ Train createTrain(); + /** + * Returns a new object of class 'Simple Segment'. + * + * + * @return a new object of class 'Simple Segment'. + * @generated + */ + SimpleSegment createSimpleSegment(); + /** * Returns the package supported by this factory. * diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3ModelRoot.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3ModelRoot.java index 4f925b7a..d46ee305 100644 --- a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3ModelRoot.java +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3ModelRoot.java @@ -62,7 +62,7 @@ public interface Modes3ModelRoot extends EObject { /** * Returns the value of the 'Segments' containment reference list. - * The list contents are of type {@link modes3.Segment}. + * The list contents are of type {@link modes3.SimpleSegment}. * * * @return the value of the 'Segments' containment reference list. @@ -70,7 +70,7 @@ public interface Modes3ModelRoot extends EObject { * @model containment="true" * @generated */ - EList getSegments(); + EList getSegments(); /** * Returns the value of the 'Turnouts' containment reference list. diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3Package.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3Package.java index 4760af9d..a19c1955 100644 --- a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3Package.java +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/Modes3Package.java @@ -304,6 +304,62 @@ public interface Modes3Package extends EPackage { int TRAIN_OPERATION_COUNT = 0; + /** + * The meta object id for the '{@link modes3.impl.SimpleSegmentImpl Simple Segment}' class. + * + * + * @see modes3.impl.SimpleSegmentImpl + * @see modes3.impl.Modes3PackageImpl#getSimpleSegment() + * @generated + */ + int SIMPLE_SEGMENT = 4; + + /** + * The feature id for the 'Connected To' reference list. + * + * + * @generated + * @ordered + */ + int SIMPLE_SEGMENT__CONNECTED_TO = SEGMENT__CONNECTED_TO; + + /** + * The feature id for the 'Occupied By' reference. + * + * + * @generated + * @ordered + */ + int SIMPLE_SEGMENT__OCCUPIED_BY = SEGMENT__OCCUPIED_BY; + + /** + * The feature id for the 'Id' attribute. + * + * + * @generated + * @ordered + */ + int SIMPLE_SEGMENT__ID = SEGMENT__ID; + + /** + * The number of structural features of the 'Simple Segment' class. + * + * + * @generated + * @ordered + */ + int SIMPLE_SEGMENT_FEATURE_COUNT = SEGMENT_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Simple Segment' class. + * + * + * @generated + * @ordered + */ + int SIMPLE_SEGMENT_OPERATION_COUNT = SEGMENT_OPERATION_COUNT + 0; + + /** * Returns the meta object for class '{@link modes3.Segment Segment}'. * @@ -476,6 +532,16 @@ public interface Modes3Package extends EPackage { */ EAttribute getTrain_Speed(); + /** + * Returns the meta object for class '{@link modes3.SimpleSegment Simple Segment}'. + * + * + * @return the meta object for class 'Simple Segment'. + * @see modes3.SimpleSegment + * @generated + */ + EClass getSimpleSegment(); + /** * Returns the factory that creates the instances of the model. * @@ -635,6 +701,16 @@ public interface Modes3Package extends EPackage { */ EAttribute TRAIN__SPEED = eINSTANCE.getTrain_Speed(); + /** + * The meta object literal for the '{@link modes3.impl.SimpleSegmentImpl Simple Segment}' class. + * + * + * @see modes3.impl.SimpleSegmentImpl + * @see modes3.impl.Modes3PackageImpl#getSimpleSegment() + * @generated + */ + EClass SIMPLE_SEGMENT = eINSTANCE.getSimpleSegment(); + } } //Modes3Package diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/SimpleSegment.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/SimpleSegment.java new file mode 100644 index 00000000..da77510f --- /dev/null +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/SimpleSegment.java @@ -0,0 +1,17 @@ +/** + */ +package modes3; + + +/** + * + * A representation of the model object 'Simple Segment'. + * + * + * + * @see modes3.Modes3Package#getSimpleSegment() + * @model + * @generated + */ +public interface SimpleSegment extends Segment { +} // SimpleSegment diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3FactoryImpl.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3FactoryImpl.java index 6ec86cb6..60947533 100644 --- a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3FactoryImpl.java +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3FactoryImpl.java @@ -60,6 +60,7 @@ public class Modes3FactoryImpl extends EFactoryImpl implements Modes3Factory { case Modes3Package.MODES3_MODEL_ROOT: return createModes3ModelRoot(); case Modes3Package.TURNOUT: return createTurnout(); case Modes3Package.TRAIN: return createTrain(); + case Modes3Package.SIMPLE_SEGMENT: return createSimpleSegment(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } @@ -105,6 +106,16 @@ public class Modes3FactoryImpl extends EFactoryImpl implements Modes3Factory { return train; } + /** + * + * + * @generated + */ + public SimpleSegment createSimpleSegment() { + SimpleSegmentImpl simpleSegment = new SimpleSegmentImpl(); + return simpleSegment; + } + /** * * diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3ModelRootImpl.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3ModelRootImpl.java index d1ee25ff..ccab1f29 100644 --- a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3ModelRootImpl.java +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3ModelRootImpl.java @@ -6,7 +6,7 @@ import java.util.Collection; import modes3.Modes3ModelRoot; import modes3.Modes3Package; -import modes3.Segment; +import modes3.SimpleSegment; import modes3.Train; import modes3.Turnout; @@ -79,7 +79,7 @@ public class Modes3ModelRootImpl extends MinimalEObjectImpl.Container implements * @generated * @ordered */ - protected EList segments; + protected EList segments; /** * The cached value of the '{@link #getTurnouts() Turnouts}' containment reference list. @@ -148,9 +148,9 @@ public class Modes3ModelRootImpl extends MinimalEObjectImpl.Container implements * * @generated */ - public EList getSegments() { + public EList getSegments() { if (segments == null) { - segments = new EObjectContainmentEList(Segment.class, this, Modes3Package.MODES3_MODEL_ROOT__SEGMENTS); + segments = new EObjectContainmentEList(SimpleSegment.class, this, Modes3Package.MODES3_MODEL_ROOT__SEGMENTS); } return segments; } @@ -223,7 +223,7 @@ public class Modes3ModelRootImpl extends MinimalEObjectImpl.Container implements return; case Modes3Package.MODES3_MODEL_ROOT__SEGMENTS: getSegments().clear(); - getSegments().addAll((Collection)newValue); + getSegments().addAll((Collection)newValue); return; case Modes3Package.MODES3_MODEL_ROOT__TURNOUTS: getTurnouts().clear(); diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3PackageImpl.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3PackageImpl.java index 2b9e828c..557da4c1 100644 --- a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3PackageImpl.java +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/Modes3PackageImpl.java @@ -6,6 +6,7 @@ import modes3.Modes3Factory; import modes3.Modes3ModelRoot; import modes3.Modes3Package; import modes3.Segment; +import modes3.SimpleSegment; import modes3.Train; import modes3.Turnout; @@ -51,6 +52,13 @@ public class Modes3PackageImpl extends EPackageImpl implements Modes3Package { */ private EClass trainEClass = null; + /** + * + * + * @generated + */ + private EClass simpleSegmentEClass = null; + /** * Creates an instance of the model Package, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package @@ -256,6 +264,15 @@ public class Modes3PackageImpl extends EPackageImpl implements Modes3Package { return (EAttribute)trainEClass.getEStructuralFeatures().get(2); } + /** + * + * + * @generated + */ + public EClass getSimpleSegment() { + return simpleSegmentEClass; + } + /** * * @@ -303,6 +320,8 @@ public class Modes3PackageImpl extends EPackageImpl implements Modes3Package { createEReference(trainEClass, TRAIN__LOCATION); createEAttribute(trainEClass, TRAIN__ID); createEAttribute(trainEClass, TRAIN__SPEED); + + simpleSegmentEClass = createEClass(SIMPLE_SEGMENT); } /** @@ -334,6 +353,7 @@ public class Modes3PackageImpl extends EPackageImpl implements Modes3Package { // Add supertypes to classes turnoutEClass.getESuperTypes().add(this.getSegment()); + simpleSegmentEClass.getESuperTypes().add(this.getSegment()); // Initialize classes, features, and operations; add parameters initEClass(segmentEClass, Segment.class, "Segment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -344,7 +364,7 @@ public class Modes3PackageImpl extends EPackageImpl implements Modes3Package { initEClass(modes3ModelRootEClass, Modes3ModelRoot.class, "Modes3ModelRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getModes3ModelRoot_Id(), ecorePackage.getEInt(), "id", null, 0, 1, Modes3ModelRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getModes3ModelRoot_Trains(), this.getTrain(), null, "trains", null, 0, -1, Modes3ModelRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getModes3ModelRoot_Segments(), this.getSegment(), null, "segments", null, 0, -1, Modes3ModelRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getModes3ModelRoot_Segments(), this.getSimpleSegment(), null, "segments", null, 0, -1, Modes3ModelRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getModes3ModelRoot_Turnouts(), this.getTurnout(), null, "turnouts", null, 0, -1, Modes3ModelRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(turnoutEClass, Turnout.class, "Turnout", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -356,6 +376,8 @@ public class Modes3PackageImpl extends EPackageImpl implements Modes3Package { initEAttribute(getTrain_Id(), ecorePackage.getEInt(), "id", null, 0, 1, Train.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getTrain_Speed(), ecorePackage.getEDouble(), "speed", null, 0, 1, Train.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(simpleSegmentEClass, SimpleSegment.class, "SimpleSegment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + // Create resource createResource(eNS_URI); } diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/SimpleSegmentImpl.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/SimpleSegmentImpl.java new file mode 100644 index 00000000..e3fd6c34 --- /dev/null +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/impl/SimpleSegmentImpl.java @@ -0,0 +1,37 @@ +/** + */ +package modes3.impl; + +import modes3.Modes3Package; +import modes3.SimpleSegment; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Simple Segment'. + * + * + * @generated + */ +public class SimpleSegmentImpl extends SegmentImpl implements SimpleSegment { + /** + * + * + * @generated + */ + protected SimpleSegmentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return Modes3Package.Literals.SIMPLE_SEGMENT; + } + +} //SimpleSegmentImpl diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3AdapterFactory.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3AdapterFactory.java index 86568e9d..9c5c8d2d 100644 --- a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3AdapterFactory.java +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3AdapterFactory.java @@ -84,6 +84,10 @@ public class Modes3AdapterFactory extends AdapterFactoryImpl { return createTrainAdapter(); } @Override + public Adapter caseSimpleSegment(SimpleSegment object) { + return createSimpleSegmentAdapter(); + } + @Override public Adapter defaultCase(EObject object) { return createEObjectAdapter(); } @@ -159,6 +163,20 @@ public class Modes3AdapterFactory extends AdapterFactoryImpl { return null; } + /** + * Creates a new adapter for an object of class '{@link modes3.SimpleSegment Simple Segment}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see modes3.SimpleSegment + * @generated + */ + public Adapter createSimpleSegmentAdapter() { + return null; + } + /** * Creates a new adapter for the default case. * diff --git a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3Switch.java b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3Switch.java index 5dab272b..0c28861a 100644 --- a/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3Switch.java +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3Switch.java @@ -91,6 +91,13 @@ public class Modes3Switch extends Switch { if (result == null) result = defaultCase(theEObject); return result; } + case Modes3Package.SIMPLE_SEGMENT: { + SimpleSegment simpleSegment = (SimpleSegment)theEObject; + T result = caseSimpleSegment(simpleSegment); + if (result == null) result = caseSegment(simpleSegment); + if (result == null) result = defaultCase(theEObject); + return result; + } default: return defaultCase(theEObject); } } @@ -155,6 +162,21 @@ public class Modes3Switch extends Switch { return null; } + /** + * Returns the result of interpreting the object as an instance of 'Simple Segment'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Simple Segment'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSimpleSegment(SimpleSegment object) { + return null; + } + /** * Returns the result of interpreting the object as an instance of 'EObject'. * -- cgit v1.2.3-54-g00ecf