From a620f07468780778bd55dcffc30245def37ece69 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 6 Aug 2020 16:07:16 +0200 Subject: MoDeS3 unit propagation WIP --- .../modes3/util/Modes3AdapterFactory.java | 174 +++++++++++++++++++++ .../ecore-gen/modes3/util/Modes3Switch.java | 174 +++++++++++++++++++++ 2 files changed, 348 insertions(+) create mode 100644 Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3AdapterFactory.java create mode 100644 Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3Switch.java (limited to 'Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util') 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 new file mode 100644 index 00000000..86568e9d --- /dev/null +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3AdapterFactory.java @@ -0,0 +1,174 @@ +/** + */ +package modes3.util; + +import modes3.*; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see modes3.Modes3Package + * @generated + */ +public class Modes3AdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static Modes3Package modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public Modes3AdapterFactory() { + if (modelPackage == null) { + modelPackage = Modes3Package.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the createXXX methods. + * + * + * @generated + */ + protected Modes3Switch modelSwitch = + new Modes3Switch() { + @Override + public Adapter caseSegment(Segment object) { + return createSegmentAdapter(); + } + @Override + public Adapter caseModes3ModelRoot(Modes3ModelRoot object) { + return createModes3ModelRootAdapter(); + } + @Override + public Adapter caseTurnout(Turnout object) { + return createTurnoutAdapter(); + } + @Override + public Adapter caseTrain(Train object) { + return createTrainAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link modes3.Segment 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.Segment + * @generated + */ + public Adapter createSegmentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modes3.Modes3ModelRoot Model Root}'. + * + * 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.Modes3ModelRoot + * @generated + */ + public Adapter createModes3ModelRootAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modes3.Turnout Turnout}'. + * + * 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.Turnout + * @generated + */ + public Adapter createTurnoutAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modes3.Train Train}'. + * + * 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.Train + * @generated + */ + public Adapter createTrainAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //Modes3AdapterFactory 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 new file mode 100644 index 00000000..5dab272b --- /dev/null +++ b/Domains/ca.mcgill.rtgmrt.example.modes3/ecore-gen/modes3/util/Modes3Switch.java @@ -0,0 +1,174 @@ +/** + */ +package modes3.util; + +import modes3.*; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * + * @see modes3.Modes3Package + * @generated + */ +public class Modes3Switch extends Switch { + /** + * The cached model package + * + * + * @generated + */ + protected static Modes3Package modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public Modes3Switch() { + if (modelPackage == null) { + modelPackage = Modes3Package.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case Modes3Package.SEGMENT: { + Segment segment = (Segment)theEObject; + T result = caseSegment(segment); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Modes3Package.MODES3_MODEL_ROOT: { + Modes3ModelRoot modes3ModelRoot = (Modes3ModelRoot)theEObject; + T result = caseModes3ModelRoot(modes3ModelRoot); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Modes3Package.TURNOUT: { + Turnout turnout = (Turnout)theEObject; + T result = caseTurnout(turnout); + if (result == null) result = caseSegment(turnout); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Modes3Package.TRAIN: { + Train train = (Train)theEObject; + T result = caseTrain(train); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '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 'Segment'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSegment(Segment object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Model Root'. + * + * 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 'Model Root'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseModes3ModelRoot(Modes3ModelRoot object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Turnout'. + * + * 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 'Turnout'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTurnout(Turnout object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Train'. + * + * 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 'Train'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTrain(Train object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //Modes3Switch -- cgit v1.2.3-54-g00ecf