diff options
author | Ed Willink | 2020-02-11 15:01:46 +0000 |
---|---|---|
committer | Ed Willink | 2020-02-25 12:12:09 +0000 |
commit | b2a1243fe4603c26185d07b96e283844f220271b (patch) | |
tree | 53f17153f030e5d6bf74912f3b4f794d0126c9dc | |
parent | eae12e2ac86255f272a93ba4b1e3a5efe376ee25 (diff) | |
download | org.eclipse.qvtd-b2a1243fe4603c26185d07b96e283844f220271b.tar.gz org.eclipse.qvtd-b2a1243fe4603c26185d07b96e283844f220271b.tar.xz org.eclipse.qvtd-b2a1243fe4603c26185d07b96e283844f220271b.zip |
[513375] Add PropertyDatum.targetClassDatum
11 files changed, 185 insertions, 57 deletions
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/DeclareStatement.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/DeclareStatement.java index 4af1ba86c..16e4ee860 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/DeclareStatement.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/DeclareStatement.java @@ -52,7 +52,7 @@ public interface DeclareStatement extends VariableStatement, ObservableStatement * <!-- end-user-doc --> * <!-- begin-model-doc --> * True if the initial expression's type must be checked for conformance with the variable's type. - * A non-conforming vlaue is a predicate failure causing the mapping to fail without doing anything. + * A non-conforming value is a predicate failure causing the mapping to fail without doing anything. * This is a derivation of not ownedInit.type.conformsTo(self.type). * <!-- end-model-doc --> * @return the value of the '<em>Is Check</em>' attribute. diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/GuardParameterBinding.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/GuardParameterBinding.java index 329772bee..30472d920 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/GuardParameterBinding.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/GuardParameterBinding.java @@ -70,7 +70,7 @@ public interface GuardParameterBinding extends MappingParameterBinding { * <!-- end-user-doc --> * <!-- begin-model-doc --> * True if each consumed value must be checked for conformance with the variable's type. - * A non-conforming vlaue is a predicate failure causing the mapping invocation to fail without doing anything. + * A non-conforming value is a predicate failure causing the mapping invocation to fail without doing anything. * This is a derivation of not ownedInit.type.conformsTo(self.type). * <!-- end-model-doc --> * @return the value of the '<em>Is Check</em>' attribute. diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperative.ecore b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperative.ecore index 9966ee6e6..e544fc350 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperative.ecore +++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperative.ecore @@ -173,7 +173,7 @@ name="isCheck" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="True if the initial expression's type must be checked for conformance with the variable's type.
A non-conforming vlaue is a predicate failure causing the mapping to fail without doing anything.
This is a derivation of not ownedInit.type.conformsTo(self.type)."/> + <details key="documentation" value="True if the initial expression's type must be checked for conformance with the variable's type.
A non-conforming value is a predicate failure causing the mapping to fail without doing anything.
This is a derivation of not ownedInit.type.conformsTo(self.type)."/> </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtimperative-DeclareStatement-ownedExpression" @@ -241,7 +241,7 @@ name="isCheck" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="True if each consumed value must be checked for conformance with the variable's type.
A non-conforming vlaue is a predicate failure causing the mapping invocation to fail without doing anything.
This is a derivation of not ownedInit.type.conformsTo(self.type)."/> + <details key="documentation" value="True if each consumed value must be checked for conformance with the variable's type.
A non-conforming value is a predicate failure causing the mapping invocation to fail without doing anything.
This is a derivation of not ownedInit.type.conformsTo(self.type)."/> </eAnnotations> </eStructuralFeatures> </eClassifiers> diff --git a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/PropertyDatum.java b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/PropertyDatum.java index 0d5edc6fa..2bf2b3170 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/PropertyDatum.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/PropertyDatum.java @@ -33,6 +33,7 @@ import org.eclipse.ocl.pivot.Property; * <li>{@link org.eclipse.qvtd.pivot.qvtschedule.PropertyDatum#getReferredProperty <em>Referred Property</em>}</li> * <li>{@link org.eclipse.qvtd.pivot.qvtschedule.PropertyDatum#getSuperPropertyDatums <em>Super Property Datums</em>}</li> * <li>{@link org.eclipse.qvtd.pivot.qvtschedule.PropertyDatum#isKey <em>Key</em>}</li> + * <li>{@link org.eclipse.qvtd.pivot.qvtschedule.PropertyDatum#getTargetClassDatum <em>Target Class Datum</em>}</li> * </ul> * * @see org.eclipse.qvtd.pivot.qvtschedule.QVTschedulePackage#getPropertyDatum() @@ -166,4 +167,29 @@ public interface PropertyDatum extends AbstractDatum { */ void setKey(boolean value); + /** + * Returns the value of the '<em><b>Target Class Datum</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * The ClassDatum that this PropertyDatum's slot references. if it is more derived than the referencedProperty.type. + * <!-- end-model-doc --> + * @return the value of the '<em>Target Class Datum</em>' reference. + * @see #setTargetClassDatum(ClassDatum) + * @see org.eclipse.qvtd.pivot.qvtschedule.QVTschedulePackage#getPropertyDatum_TargetClassDatum() + * @model + * @generated + */ + ClassDatum getTargetClassDatum(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.pivot.qvtschedule.PropertyDatum#getTargetClassDatum <em>Target Class Datum</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target Class Datum</em>' reference. + * @see #getTargetClassDatum() + * @generated + */ + void setTargetClassDatum(ClassDatum value); + } // PropertyDatum diff --git a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTschedulePackage.java b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTschedulePackage.java index fa9b2fc49..4b46403b8 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTschedulePackage.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTschedulePackage.java @@ -2122,6 +2122,17 @@ public interface QVTschedulePackage extends EPackage { EAttribute getPropertyDatum_Key(); /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.pivot.qvtschedule.PropertyDatum#getTargetClassDatum <em>Target Class Datum</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Target Class Datum</em>'. + * @see org.eclipse.qvtd.pivot.qvtschedule.PropertyDatum#getTargetClassDatum() + * @see #getPropertyDatum() + * @generated + */ + EReference getPropertyDatum_TargetClassDatum(); + + /** * Returns the meta object for class '{@link org.eclipse.qvtd.pivot.qvtschedule.RecursionEdge <em>Recursion Edge</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -4035,6 +4046,14 @@ public interface QVTschedulePackage extends EPackage { EAttribute PROPERTY_DATUM__KEY = eINSTANCE.getPropertyDatum_Key(); /** + * The meta object literal for the '<em><b>Target Class Datum</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PROPERTY_DATUM__TARGET_CLASS_DATUM = eINSTANCE.getPropertyDatum_TargetClassDatum(); + + /** * The meta object literal for the '{@link org.eclipse.qvtd.pivot.qvtschedule.impl.RecursionEdgeImpl <em>Recursion Edge</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTscheduleTables.java b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTscheduleTables.java index 9bb542776..4667ae0b2 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTscheduleTables.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTscheduleTables.java @@ -1107,6 +1107,7 @@ public class QVTscheduleTables public static final @NonNull ExecutorProperty _ClassDatum__KeyedValueNode__classDatumValue = new ExecutorPropertyWithImplementation("KeyedValueNode", Types._ClassDatum, 9, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.KEYED_VALUE_NODE__CLASS_DATUM_VALUE)); public static final @NonNull ExecutorProperty _ClassDatum__Node__classDatum = new ExecutorPropertyWithImplementation("Node", Types._ClassDatum, 10, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.NODE__CLASS_DATUM)); public static final @NonNull ExecutorProperty _ClassDatum__NodeConnection__classDatum = new ExecutorPropertyWithImplementation("NodeConnection", Types._ClassDatum, 11, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.NODE_CONNECTION__CLASS_DATUM)); + public static final @NonNull ExecutorProperty _ClassDatum__PropertyDatum__targetClassDatum = new ExecutorPropertyWithImplementation("PropertyDatum", Types._ClassDatum, 12, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.PROPERTY_DATUM__TARGET_CLASS_DATUM)); public static final @NonNull ExecutorProperty _Cluster__depth = new EcoreExecutorProperty(QVTschedulePackage.Literals.CLUSTER__DEPTH, Types._Cluster, 0); public static final @NonNull ExecutorProperty _Cluster__memberEdges = new EcoreExecutorProperty(QVTschedulePackage.Literals.CLUSTER__MEMBER_EDGES, Types._Cluster, 1); @@ -1255,9 +1256,10 @@ public class QVTscheduleTables public static final @NonNull ExecutorProperty _PropertyDatum__owningClassDatum = new EcoreExecutorProperty(QVTschedulePackage.Literals.PROPERTY_DATUM__OWNING_CLASS_DATUM, Types._PropertyDatum, 2); public static final @NonNull ExecutorProperty _PropertyDatum__referredProperty = new EcoreExecutorProperty(QVTschedulePackage.Literals.PROPERTY_DATUM__REFERRED_PROPERTY, Types._PropertyDatum, 3); public static final @NonNull ExecutorProperty _PropertyDatum__superPropertyDatums = new EcoreExecutorProperty(QVTschedulePackage.Literals.PROPERTY_DATUM__SUPER_PROPERTY_DATUMS, Types._PropertyDatum, 4); - public static final @NonNull ExecutorProperty _PropertyDatum__KeyPartEdge__referredPart = new ExecutorPropertyWithImplementation("KeyPartEdge", Types._PropertyDatum, 5, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.KEY_PART_EDGE__REFERRED_PART)); - public static final @NonNull ExecutorProperty _PropertyDatum__PropertyDatum__opposite = new ExecutorPropertyWithImplementation("PropertyDatum", Types._PropertyDatum, 6, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.PROPERTY_DATUM__OPPOSITE)); - public static final @NonNull ExecutorProperty _PropertyDatum__PropertyDatum__superPropertyDatums = new ExecutorPropertyWithImplementation("PropertyDatum", Types._PropertyDatum, 7, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.PROPERTY_DATUM__SUPER_PROPERTY_DATUMS)); + public static final @NonNull ExecutorProperty _PropertyDatum__targetClassDatum = new EcoreExecutorProperty(QVTschedulePackage.Literals.PROPERTY_DATUM__TARGET_CLASS_DATUM, Types._PropertyDatum, 5); + public static final @NonNull ExecutorProperty _PropertyDatum__KeyPartEdge__referredPart = new ExecutorPropertyWithImplementation("KeyPartEdge", Types._PropertyDatum, 6, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.KEY_PART_EDGE__REFERRED_PART)); + public static final @NonNull ExecutorProperty _PropertyDatum__PropertyDatum__opposite = new ExecutorPropertyWithImplementation("PropertyDatum", Types._PropertyDatum, 7, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.PROPERTY_DATUM__OPPOSITE)); + public static final @NonNull ExecutorProperty _PropertyDatum__PropertyDatum__superPropertyDatums = new ExecutorPropertyWithImplementation("PropertyDatum", Types._PropertyDatum, 8, new EcoreLibraryOppositeProperty(QVTschedulePackage.Literals.PROPERTY_DATUM__SUPER_PROPERTY_DATUMS)); public static final @NonNull ExecutorProperty _RecursionEdge__primary = new EcoreExecutorProperty(QVTschedulePackage.Literals.RECURSION_EDGE__PRIMARY, Types._RecursionEdge, 0); @@ -6429,7 +6431,8 @@ public class QVTscheduleTables QVTscheduleTables.Properties._PropertyDatum__opposite, QVTscheduleTables.Properties._PropertyDatum__owningClassDatum, QVTscheduleTables.Properties._PropertyDatum__referredProperty, - QVTscheduleTables.Properties._PropertyDatum__superPropertyDatums + QVTscheduleTables.Properties._PropertyDatum__superPropertyDatums, + QVTscheduleTables.Properties._PropertyDatum__targetClassDatum }; private static final @NonNull ExecutorProperty @NonNull [] _RecursionEdge = { diff --git a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/BasicPartitionImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/BasicPartitionImpl.java index d34e7a370..36d85a99e 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/BasicPartitionImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/BasicPartitionImpl.java @@ -536,7 +536,7 @@ public class BasicPartitionImpl extends MappingPartitionImpl implements BasicPar case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 22: if (eInternalContainer() != null) msgs = eBasicRemoveFromContainer(msgs); - return basicSetOwningMergedPartition((MergedPartition)otherEnd, msgs); + return basicSetOwningMergedPartition((MergedPartition)otherEnd, msgs); } return super.eInverseAdd(otherEnd, featureID, msgs); } @@ -639,67 +639,67 @@ public class BasicPartitionImpl extends MappingPartitionImpl implements BasicPar switch (featureID) { case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 7: getConstantEdges().clear(); - getConstantEdges().addAll((Collection<? extends Edge>)newValue); - return; + getConstantEdges().addAll((Collection<? extends Edge>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 8: getConstantNodes().clear(); - getConstantNodes().addAll((Collection<? extends Node>)newValue); - return; + getConstantNodes().addAll((Collection<? extends Node>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 9: getConstantSuccessFalseNodes().clear(); - getConstantSuccessFalseNodes().addAll((Collection<? extends Node>)newValue); - return; + getConstantSuccessFalseNodes().addAll((Collection<? extends Node>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 10: getConstantSuccessTrueNodes().clear(); - getConstantSuccessTrueNodes().addAll((Collection<? extends Node>)newValue); - return; + getConstantSuccessTrueNodes().addAll((Collection<? extends Node>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 11: getExplicitPredecessors().clear(); - getExplicitPredecessors().addAll((Collection<? extends MappingPartition>)newValue); - return; + getExplicitPredecessors().addAll((Collection<? extends MappingPartition>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 12: getHeadNodes().clear(); - getHeadNodes().addAll((Collection<? extends Node>)newValue); - return; + getHeadNodes().addAll((Collection<? extends Node>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 13: getLoadedEdges().clear(); - getLoadedEdges().addAll((Collection<? extends Edge>)newValue); - return; + getLoadedEdges().addAll((Collection<? extends Edge>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 14: getLoadedNodes().clear(); - getLoadedNodes().addAll((Collection<? extends Node>)newValue); - return; + getLoadedNodes().addAll((Collection<? extends Node>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 15: getPredicatedEdges().clear(); - getPredicatedEdges().addAll((Collection<? extends Edge>)newValue); - return; + getPredicatedEdges().addAll((Collection<? extends Edge>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 16: getPredicatedNodes().clear(); - getPredicatedNodes().addAll((Collection<? extends Node>)newValue); - return; + getPredicatedNodes().addAll((Collection<? extends Node>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 17: getRealizedEdges().clear(); - getRealizedEdges().addAll((Collection<? extends Edge>)newValue); - return; + getRealizedEdges().addAll((Collection<? extends Edge>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 18: getRealizedNodes().clear(); - getRealizedNodes().addAll((Collection<? extends Node>)newValue); - return; + getRealizedNodes().addAll((Collection<? extends Node>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 19: getSpeculatedEdges().clear(); - getSpeculatedEdges().addAll((Collection<? extends Edge>)newValue); - return; + getSpeculatedEdges().addAll((Collection<? extends Edge>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 20: getSpeculatedNodes().clear(); - getSpeculatedNodes().addAll((Collection<? extends Node>)newValue); - return; + getSpeculatedNodes().addAll((Collection<? extends Node>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 21: getSpeculationNodes().clear(); - getSpeculationNodes().addAll((Collection<? extends Node>)newValue); - return; + getSpeculationNodes().addAll((Collection<? extends Node>)newValue); + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 22: setOwningMergedPartition((MergedPartition)newValue); - return; + return; } super.eSet(featureID, newValue); } @@ -714,52 +714,52 @@ public class BasicPartitionImpl extends MappingPartitionImpl implements BasicPar switch (featureID) { case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 7: getConstantEdges().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 8: getConstantNodes().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 9: getConstantSuccessFalseNodes().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 10: getConstantSuccessTrueNodes().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 11: getExplicitPredecessors().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 12: getHeadNodes().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 13: getLoadedEdges().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 14: getLoadedNodes().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 15: getPredicatedEdges().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 16: getPredicatedNodes().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 17: getRealizedEdges().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 18: getRealizedNodes().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 19: getSpeculatedEdges().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 20: getSpeculatedNodes().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 21: getSpeculationNodes().clear(); - return; + return; case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 22: setOwningMergedPartition((MergedPartition)null); - return; + return; } super.eUnset(featureID); } diff --git a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/PropertyDatumImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/PropertyDatumImpl.java index e653eea15..a62b01ed7 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/PropertyDatumImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/PropertyDatumImpl.java @@ -45,6 +45,7 @@ import org.eclipse.qvtd.pivot.qvtschedule.util.QVTscheduleVisitor; * <li>{@link org.eclipse.qvtd.pivot.qvtschedule.impl.PropertyDatumImpl#getReferredProperty <em>Referred Property</em>}</li> * <li>{@link org.eclipse.qvtd.pivot.qvtschedule.impl.PropertyDatumImpl#getSuperPropertyDatums <em>Super Property Datums</em>}</li> * <li>{@link org.eclipse.qvtd.pivot.qvtschedule.impl.PropertyDatumImpl#isKey <em>Key</em>}</li> + * <li>{@link org.eclipse.qvtd.pivot.qvtschedule.impl.PropertyDatumImpl#getTargetClassDatum <em>Target Class Datum</em>}</li> * </ul> * * @generated @@ -57,7 +58,7 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu * @generated * @ordered */ - public static final int PROPERTY_DATUM_FEATURE_COUNT = AbstractDatumImpl.ABSTRACT_DATUM_FEATURE_COUNT + 5; + public static final int PROPERTY_DATUM_FEATURE_COUNT = AbstractDatumImpl.ABSTRACT_DATUM_FEATURE_COUNT + 6; /** * The number of operations of the '<em>Property Datum</em>' class. @@ -119,6 +120,16 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu protected boolean key = KEY_EDEFAULT; /** + * The cached value of the '{@link #getTargetClassDatum() <em>Target Class Datum</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetClassDatum() + * @generated + * @ordered + */ + protected ClassDatum targetClassDatum; + + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated @@ -302,6 +313,46 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu * @generated */ @Override + public ClassDatum getTargetClassDatum() { + if (targetClassDatum != null && targetClassDatum.eIsProxy()) { + InternalEObject oldTargetClassDatum = (InternalEObject)targetClassDatum; + targetClassDatum = (ClassDatum)eResolveProxy(oldTargetClassDatum); + if (targetClassDatum != oldTargetClassDatum) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 5, oldTargetClassDatum, targetClassDatum)); + } + } + return targetClassDatum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ClassDatum basicGetTargetClassDatum() { + return targetClassDatum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setTargetClassDatum(ClassDatum newTargetClassDatum) { + ClassDatum oldTargetClassDatum = targetClassDatum; + targetClassDatum = newTargetClassDatum; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 5, oldTargetClassDatum, targetClassDatum)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 1: @@ -360,6 +411,9 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu return getSuperPropertyDatums(); case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 4: return isKey(); + case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 5: + if (resolve) return getTargetClassDatum(); + return basicGetTargetClassDatum(); } return super.eGet(featureID, resolve, coreType); } @@ -389,6 +443,9 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 4: setKey((Boolean)newValue); return; + case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 5: + setTargetClassDatum((ClassDatum)newValue); + return; } super.eSet(featureID, newValue); } @@ -416,6 +473,9 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 4: setKey(KEY_EDEFAULT); return; + case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 5: + setTargetClassDatum((ClassDatum)null); + return; } super.eUnset(featureID); } @@ -438,6 +498,8 @@ public class PropertyDatumImpl extends AbstractDatumImpl implements PropertyDatu return superPropertyDatums != null && !superPropertyDatums.isEmpty(); case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 4: return key != KEY_EDEFAULT; + case NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 5: + return targetClassDatum != null; } return super.eIsSet(featureID); } diff --git a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/QVTschedulePackageImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/QVTschedulePackageImpl.java index 0c73d3f6b..b98763077 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/QVTschedulePackageImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/QVTschedulePackageImpl.java @@ -2668,6 +2668,16 @@ public class QVTschedulePackageImpl extends EPackageImpl implements QVTscheduleP * @generated */ @Override + public EReference getPropertyDatum_TargetClassDatum() { + return (EReference)propertyDatumEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override public EClass getRecursionEdge() { return recursionEdgeEClass; } @@ -3102,6 +3112,7 @@ public class QVTschedulePackageImpl extends EPackageImpl implements QVTscheduleP createEReference(propertyDatumEClass, NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 2); createEReference(propertyDatumEClass, NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 3); createEAttribute(propertyDatumEClass, NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 4); + createEReference(propertyDatumEClass, NamedElementImpl.NAMED_ELEMENT_FEATURE_COUNT + 5); recursionEdgeEClass = createEClass(58); createEAttribute(recursionEdgeEClass, ElementImpl.ELEMENT_FEATURE_COUNT + 7); @@ -3508,6 +3519,7 @@ public class QVTschedulePackageImpl extends EPackageImpl implements QVTscheduleP initEReference(getPropertyDatum_ReferredProperty(), thePivotPackage.getProperty(), null, "referredProperty", null, 0, 1, PropertyDatum.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getPropertyDatum_SuperPropertyDatums(), this.getPropertyDatum(), null, "superPropertyDatums", null, 0, -1, PropertyDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getPropertyDatum_Key(), ecorePackage.getEBoolean(), "key", null, 0, 1, PropertyDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPropertyDatum_TargetClassDatum(), this.getClassDatum(), null, "targetClassDatum", null, 0, 1, PropertyDatum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(recursionEdgeEClass, RecursionEdge.class, "RecursionEdge", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getRecursionEdge_Primary(), ecorePackage.getEBoolean(), "primary", "false", 1, 1, RecursionEdge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); diff --git a/plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.ecore b/plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.ecore index ab0bd5374..5fccf4c73 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.ecore +++ b/plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.ecore @@ -576,6 +576,11 @@ <details key="documentation" value="Set true if this PropertyDatum forms part of a key for the containing ClassDatum."/>
</eAnnotations>
</eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetClassDatum" eType="#//ClassDatum">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ClassDatum that this PropertyDatum's slot references. if it is more derived than the referencedProperty.type."/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RecursionEdge" eSuperTypes="#//Edge">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="primary" lowerBound="1"
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.genmodel b/plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.genmodel index 3f8ab967f..e8477292b 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.genmodel +++ b/plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.genmodel @@ -247,6 +247,7 @@ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference QVTschedule.ecore#//PropertyDatum/referredProperty"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference QVTschedule.ecore#//PropertyDatum/superPropertyDatums"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute QVTschedule.ecore#//PropertyDatum/key"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference QVTschedule.ecore#//PropertyDatum/targetClassDatum"/> </genClasses> <genClasses ecoreClass="QVTschedule.ecore#//RecursionEdge"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute QVTschedule.ecore#//RecursionEdge/primary"/> |