Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2020-02-11 15:01:46 +0000
committerEd Willink2020-02-25 12:12:09 +0000
commitb2a1243fe4603c26185d07b96e283844f220271b (patch)
tree53f17153f030e5d6bf74912f3b4f794d0126c9dc
parenteae12e2ac86255f272a93ba4b1e3a5efe376ee25 (diff)
downloadorg.eclipse.qvtd-b2a1243fe4603c26185d07b96e283844f220271b.tar.gz
org.eclipse.qvtd-b2a1243fe4603c26185d07b96e283844f220271b.tar.xz
org.eclipse.qvtd-b2a1243fe4603c26185d07b96e283844f220271b.zip
[513375] Add PropertyDatum.targetClassDatum
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/DeclareStatement.java2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/GuardParameterBinding.java2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperative.ecore4
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/PropertyDatum.java26
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTschedulePackage.java19
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/QVTscheduleTables.java11
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/BasicPartitionImpl.java96
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/PropertyDatumImpl.java64
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtschedule/emf-gen/org/eclipse/qvtd/pivot/qvtschedule/impl/QVTschedulePackageImpl.java12
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.ecore5
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtschedule/model/QVTschedule.genmodel1
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.&#xA;A non-conforming vlaue is a predicate failure causing the mapping to fail without doing anything.&#xA;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.&#xA;A non-conforming value is a predicate failure causing the mapping to fail without doing anything.&#xA;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.&#xA;A non-conforming vlaue is a predicate failure causing the mapping invocation to fail without doing anything.&#xA;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.&#xA;A non-conforming value is a predicate failure causing the mapping invocation to fail without doing anything.&#xA;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"/>

Back to the top