diff options
15 files changed, 331 insertions, 375 deletions
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/UML2Alf.qvto b/plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/UML2Alf.qvto index a30a08c6dbb..f6221e8f97f 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/UML2Alf.qvto +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/UML2Alf.qvto @@ -262,10 +262,10 @@ mapping PrimitiveType::toMember() : Member mapping Association::toAssociationDefinition() : AssociationDefinition inherits Classifier::toClassifierDefinition { - ownedMember += self.memberEnd->map toMember(); - if self.name->isEmpty() or self.name = "" then { + ownedMember += self.ownedEnd->map toMember(); + if self.name = null or self.name = "" then { name := "A"; - self.memberEnd.name->forEach(endName) { + self.ownedEnd.name->forEach(endName) { name := name + "_" + endName; }; name := toName(name); diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/model/alf.ecore b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/model/alf.ecore index 341f8eb01c5..7b9b008aa49 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/model/alf.ecore +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/model/alf.ecore @@ -1229,22 +1229,12 @@ </eOperations> <eOperations name="properties" upperBound="-1" eType="#//ElementReference"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
 if not self.isClassifier() then OrderedSet(ElementReference){}
 else if self.isAssociation() then
 -- NOTE: This is to ensure proper ordering.
 self.memberEnds()->appendAll(self.parents().properties()->asOrderedSet())
 else
 self.element.oclAsType(uml::Classifier).allAttributes()->
 collect(a | ExternalElementReference{element = a})->
 asOrderedSet()
 endif endif"/> - </eAnnotations> - </eOperations> - <eOperations name="memberEnds" upperBound="-1" eType="#//ElementReference"> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
 if not self.isAssociation() then OrderedSet(ElementReference){}
 else
 self.element.oclAsType(uml::Association).memberEnd->
 collect(e | ExternalElementReference{element = e})->
 asOrderedSet()
 endif"/> + <details key="body" value="
 if not self.isClassifier() then OrderedSet(ElementReference){}
 else if self.isAssociation() then 
 	self.members()->select(isProperty())
 else
 self.element.oclAsType(uml::Classifier).allAttributes()->
 collect(a | ExternalElementReference{element = a})->
 asOrderedSet()
 endif endif"/> </eAnnotations> </eOperations> <eOperations name="associationEnds" upperBound="-1" eType="#//ElementReference"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
 -- NOTE: This is to ensure proper ordering.
 self.ownedEnds()->appendAll(self.parents().associationEnds()->asOrderedSet())"/> - </eAnnotations> - </eOperations> - <eOperations name="ownedEnds" upperBound="-1" eType="#//ElementReference"> - <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
 if not self.isAssociation() then OrderedSet(ElementReference){}
 else
 self.element.oclAsType(uml::Association).ownedEnd->
 collect(e | ExternalElementReference{element = e})->
 asOrderedSet()
 endif"/> + <details key="body" value="
		if not self.isAssociation() then OrderedSet(ElementReference){}
		else 
			self.element.oclAsType(uml::Association).ownedEnd->
 collect(e | ExternalElementReference{element = e})->
 asOrderedSet()
		endif"/> </eAnnotations> </eOperations> <eOperations name="opposite" eType="#//ElementReference"> @@ -1733,6 +1723,16 @@ <details key="body" value="self.boundReferencesTo(self.referent.nestedClassifiers())->asOrderedSet()"/> </eAnnotations> </eOperations> + <eOperations name="properties" upperBound="-1" eType="#//ElementReference"> + <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> + <details key="body" value="self.boundReferencesTo(self.referent.properties())->asOrderedSet()"/> + </eAnnotations> + </eOperations> + <eOperations name="associationEnds" upperBound="-1" eType="#//ElementReference"> + <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> + <details key="body" value="self.boundReferencesTo(self.referent.associationEnds())->asOrderedSet()"/> + </eAnnotations> + </eOperations> <eOperations name="opposite" eType="#//ElementReference"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="body" value="
 self.boundReferenceTo(self.referent.opposite())"/> @@ -3972,7 +3972,7 @@ </eOperations> <eOperations name="InvocationExpression_parameterElements" upperBound="-1" eType="#//ElementReference"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
 let referent = self.referent in
 if self.isBehavior or self.isOperation then
 referent.parameters()
 else if self.isAssociationEnd then
 let association = referent.association() in
 association.properties()->reject(equals(referent))->
 collect(p | self.parameterFromPropertyWithMultiplicity(p, '1', '1'))->asOrderedSet()
 else if referent <> null then
 referent.properties()->
 collect(p | self.parameterFromProperty(p))->asOrderedSet() 
 else
 OrderedSet(ElementReference){}
 endif endif endif"/> + <details key="body" value="
 let referent = self.referent in
 if self.isBehavior or self.isOperation then
 referent.parameters()
 else if self.isAssociationEnd then
 let association = referent.association() in
 association.associationEnds()->reject(equals(referent))->
 collect(p | self.parameterFromPropertyWithMultiplicity(p, '1', '1'))->asOrderedSet()
 else if referent <> null then
 referent.properties()->
 collect(p | self.parameterFromProperty(p))->asOrderedSet() 
 else
 OrderedSet(ElementReference){}
 endif endif endif"/> </eAnnotations> </eOperations> <eOperations name="parameterFromProperty" lowerBound="1" eType="#//ElementReference"> @@ -5118,7 +5118,7 @@ <details key="documentation" value="The qualified name of a link operation expression must resolve to a
single association."/> </eAnnotations> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="self.referent <> null"/> + <details key="body" value="
	self.referent <> null and 
	-- Also check that the association owns all its ends.
	self.referent.properties()->forAll(isAssociationEnd())"/> </eAnnotations> <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> <eParameters name="context"> @@ -5148,7 +5148,7 @@ <details key="documentation" value="For a clear association operation, returns a single, typeless parameter.
Otherwise, returns the ends of the named association."/> </eAnnotations> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
 if self.isClear then
 OrderedSet(ElementReference){
 FormalParameter{
 direction = 'in',
 typePart = TypedElementDefinition{
 lowerBound = '1',
 upperBound = '1'
 }
 }.toReference()
 }
 else
 let referent = self.referent in
 if referent = null then OrderedSet(ElementReference){}
 else
 self.referent.properties()->collect(property | 
 -- NOTE: Arguments for a link operation have multiplicity 1..1.
 parameterFromPropertyWithMultiplicity(property, '1', '1')
 )->asOrderedSet()
 endif
 endif"/> + <details key="body" value="
 if self.isClear then
 OrderedSet(ElementReference){
 FormalParameter{
 direction = 'in',
 typePart = TypedElementDefinition{
 lowerBound = '1',
 upperBound = '1'
 }
 }.toReference()
 }
 else
 let referent = self.referent in
 if referent = null then OrderedSet(ElementReference){}
 else
 self.referent.associationEnds()->collect(property | 
 -- NOTE: Arguments for a link operation have multiplicity 1..1.
 parameterFromPropertyWithMultiplicity(property, '1', '1')
 )->asOrderedSet()
 endif
 endif"/> </eAnnotations> </eOperations> <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" lowerBound="1" @@ -7054,12 +7054,6 @@ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="Whether BitString conversion is required on the operand expression."/> </eAnnotations> - <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> - <details key="body" value="FeatureInvocationExpression"/> - </eAnnotations> - <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> - <details key="body" value="FeatureInvocationExpression"/> - </eAnnotations> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="derivation" value="self.isIntegerType(self.operand.type)"/> </eAnnotations> @@ -7211,7 +7205,7 @@ <details key="documentation" value="If the target qualified name does not disambiguate to a feature reference,
then it must resolve to a behavior or an association end. Otherwise it
must resolve to a single feature referent according to the overloading
resolution rules, unless it is an implicit destructor call (in which case
it has no referent)."/> </eAnnotations> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> - <details key="body" value="
 self.isImplicit or 
 let referent = self.referent in
 referent <> null and 
 -- NOTE: This check prevents the invocation from disambiguating to an 
 -- illegal constructor invocation.
 not referent.isConstructor()"/> + <details key="body" value="
 self.isImplicit or 
 let referent = self.referent in
 referent <> null and 
 -- NOTE: This check prevents the invocation from disambiguating to an 
 -- illegal constructor invocation.
 not referent.isConstructor() and
 -- Also check that the association owns all its ends.
 referent.isAssociationEnd() implies
 	referent.association().properties()->forAll(isAssociationEnd())"/> </eAnnotations> <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> <eParameters name="context"> diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfPackage.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfPackage.java index d20feadb06c..46ea3ff0e0d 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfPackage.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfPackage.java @@ -3234,31 +3234,13 @@ public interface AlfPackage extends EPackage { int EXTERNAL_ELEMENT_REFERENCE___PROPERTIES = ELEMENT_REFERENCE_OPERATION_COUNT + 49; /** - * The operation id for the '<em>Member Ends</em>' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int EXTERNAL_ELEMENT_REFERENCE___MEMBER_ENDS = ELEMENT_REFERENCE_OPERATION_COUNT + 50; - - /** * The operation id for the '<em>Association Ends</em>' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION_ENDS = ELEMENT_REFERENCE_OPERATION_COUNT + 51; - - /** - * The operation id for the '<em>Owned Ends</em>' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int EXTERNAL_ELEMENT_REFERENCE___OWNED_ENDS = ELEMENT_REFERENCE_OPERATION_COUNT + 52; + int EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION_ENDS = ELEMENT_REFERENCE_OPERATION_COUNT + 50; /** * The operation id for the '<em>Opposite</em>' operation. @@ -3267,7 +3249,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___OPPOSITE = ELEMENT_REFERENCE_OPERATION_COUNT + 53; + int EXTERNAL_ELEMENT_REFERENCE___OPPOSITE = ELEMENT_REFERENCE_OPERATION_COUNT + 51; /** * The operation id for the '<em>Signal</em>' operation. @@ -3276,7 +3258,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 54; + int EXTERNAL_ELEMENT_REFERENCE___SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 52; /** * The operation id for the '<em>Namespace</em>' operation. @@ -3285,7 +3267,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 55; + int EXTERNAL_ELEMENT_REFERENCE___NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 53; /** * The operation id for the '<em>Owned Parameters</em>' operation. @@ -3294,7 +3276,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___OWNED_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 56; + int EXTERNAL_ELEMENT_REFERENCE___OWNED_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 54; /** * The operation id for the '<em>Parameters</em>' operation. @@ -3303,7 +3285,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 57; + int EXTERNAL_ELEMENT_REFERENCE___PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 55; /** * The operation id for the '<em>Return Parameter</em>' operation. @@ -3312,7 +3294,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___RETURN_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 58; + int EXTERNAL_ELEMENT_REFERENCE___RETURN_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 56; /** * The operation id for the '<em>Specification</em>' operation. @@ -3321,7 +3303,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___SPECIFICATION = ELEMENT_REFERENCE_OPERATION_COUNT + 59; + int EXTERNAL_ELEMENT_REFERENCE___SPECIFICATION = ELEMENT_REFERENCE_OPERATION_COUNT + 57; /** * The operation id for the '<em>Redefined Operations</em>' operation. @@ -3330,7 +3312,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___REDEFINED_OPERATIONS = ELEMENT_REFERENCE_OPERATION_COUNT + 60; + int EXTERNAL_ELEMENT_REFERENCE___REDEFINED_OPERATIONS = ELEMENT_REFERENCE_OPERATION_COUNT + 58; /** * The operation id for the '<em>Template</em>' operation. @@ -3339,7 +3321,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 61; + int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 59; /** * The operation id for the '<em>Uml Template Binding</em>' operation. @@ -3348,7 +3330,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___UML_TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 62; + int EXTERNAL_ELEMENT_REFERENCE___UML_TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 60; /** * The operation id for the '<em>Template Parameters</em>' operation. @@ -3357,7 +3339,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 63; + int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 61; /** * The operation id for the '<em>Parametered Elements</em>' operation. @@ -3366,7 +3348,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 64; + int EXTERNAL_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 62; /** * The operation id for the '<em>Template Actuals</em>' operation. @@ -3375,7 +3357,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_ACTUALS = ELEMENT_REFERENCE_OPERATION_COUNT + 65; + int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_ACTUALS = ELEMENT_REFERENCE_OPERATION_COUNT + 63; /** * The operation id for the '<em>Direction</em>' operation. @@ -3384,7 +3366,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___DIRECTION = ELEMENT_REFERENCE_OPERATION_COUNT + 66; + int EXTERNAL_ELEMENT_REFERENCE___DIRECTION = ELEMENT_REFERENCE_OPERATION_COUNT + 64; /** * The operation id for the '<em>Association</em>' operation. @@ -3393,7 +3375,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 67; + int EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 65; /** * The operation id for the '<em>Type</em>' operation. @@ -3402,7 +3384,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 68; + int EXTERNAL_ELEMENT_REFERENCE___TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 66; /** * The operation id for the '<em>Lower</em>' operation. @@ -3411,7 +3393,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___LOWER = ELEMENT_REFERENCE_OPERATION_COUNT + 69; + int EXTERNAL_ELEMENT_REFERENCE___LOWER = ELEMENT_REFERENCE_OPERATION_COUNT + 67; /** * The operation id for the '<em>Upper</em>' operation. @@ -3420,7 +3402,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___UPPER = ELEMENT_REFERENCE_OPERATION_COUNT + 70; + int EXTERNAL_ELEMENT_REFERENCE___UPPER = ELEMENT_REFERENCE_OPERATION_COUNT + 68; /** * The operation id for the '<em>Is Ordered</em>' operation. @@ -3429,7 +3411,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___IS_ORDERED = ELEMENT_REFERENCE_OPERATION_COUNT + 71; + int EXTERNAL_ELEMENT_REFERENCE___IS_ORDERED = ELEMENT_REFERENCE_OPERATION_COUNT + 69; /** * The operation id for the '<em>Is Nonunique</em>' operation. @@ -3438,7 +3420,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___IS_NONUNIQUE = ELEMENT_REFERENCE_OPERATION_COUNT + 72; + int EXTERNAL_ELEMENT_REFERENCE___IS_NONUNIQUE = ELEMENT_REFERENCE_OPERATION_COUNT + 70; /** * The operation id for the '<em>Parents</em>' operation. @@ -3447,7 +3429,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 73; + int EXTERNAL_ELEMENT_REFERENCE___PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 71; /** * The operation id for the '<em>All Parents</em>' operation. @@ -3456,7 +3438,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___ALL_PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 74; + int EXTERNAL_ELEMENT_REFERENCE___ALL_PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 72; /** * The operation id for the '<em>Classifier Behavior</em>' operation. @@ -3465,7 +3447,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 75; + int EXTERNAL_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 73; /** * The operation id for the '<em>Applied Profiles</em>' operation. @@ -3474,7 +3456,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___APPLIED_PROFILES = ELEMENT_REFERENCE_OPERATION_COUNT + 76; + int EXTERNAL_ELEMENT_REFERENCE___APPLIED_PROFILES = ELEMENT_REFERENCE_OPERATION_COUNT + 74; /** * The operation id for the '<em>Active Class</em>' operation. @@ -3483,7 +3465,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 77; + int EXTERNAL_ELEMENT_REFERENCE___ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 75; /** * The operation id for the '<em>Context</em>' operation. @@ -3492,7 +3474,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___CONTEXT = ELEMENT_REFERENCE_OPERATION_COUNT + 78; + int EXTERNAL_ELEMENT_REFERENCE___CONTEXT = ELEMENT_REFERENCE_OPERATION_COUNT + 76; /** * The operation id for the '<em>Conforms To</em>' operation. @@ -3501,7 +3483,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 79; + int EXTERNAL_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 77; /** * The operation id for the '<em>Equals</em>' operation. @@ -3510,7 +3492,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 80; + int EXTERNAL_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 78; /** * The operation id for the '<em>Copy</em>' operation. @@ -3519,7 +3501,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___COPY = ELEMENT_REFERENCE_OPERATION_COUNT + 81; + int EXTERNAL_ELEMENT_REFERENCE___COPY = ELEMENT_REFERENCE_OPERATION_COUNT + 79; /** * The operation id for the '<em>Model Scope</em>' operation. @@ -3528,7 +3510,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___MODEL_SCOPE = ELEMENT_REFERENCE_OPERATION_COUNT + 82; + int EXTERNAL_ELEMENT_REFERENCE___MODEL_SCOPE = ELEMENT_REFERENCE_OPERATION_COUNT + 80; /** * The operation id for the '<em>Resolve Path Name</em>' operation. @@ -3537,7 +3519,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 83; + int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 81; /** * The operation id for the '<em>External Element Reference resolve Path Name</em>' operation. @@ -3546,7 +3528,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___EXTERNAL_ELEMENT_REFERENCE_RESOLVE_PATH_NAME__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 84; + int EXTERNAL_ELEMENT_REFERENCE___EXTERNAL_ELEMENT_REFERENCE_RESOLVE_PATH_NAME__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 82; /** * The operation id for the '<em>Resolve In Scope</em>' operation. @@ -3555,7 +3537,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 85; + int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 83; /** * The operation id for the '<em>Resolve Stereotype</em>' operation. @@ -3564,7 +3546,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 86; + int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 84; /** * The operation id for the '<em>Stub</em>' operation. @@ -3573,7 +3555,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___STUB = ELEMENT_REFERENCE_OPERATION_COUNT + 87; + int EXTERNAL_ELEMENT_REFERENCE___STUB = ELEMENT_REFERENCE_OPERATION_COUNT + 85; /** * The operation id for the '<em>Stub For</em>' operation. @@ -3582,7 +3564,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 88; + int EXTERNAL_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 86; /** * The number of operations of the '<em>External Element Reference</em>' class. @@ -3591,7 +3573,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT = ELEMENT_REFERENCE_OPERATION_COUNT + 89; + int EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT = ELEMENT_REFERENCE_OPERATION_COUNT + 87; /** * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ExternalEnumerationLiteralReferenceImpl <em>External Enumeration Literal Reference</em>}' class. @@ -4270,15 +4252,6 @@ public interface AlfPackage extends EPackage { int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___PROPERTIES = EXTERNAL_ELEMENT_REFERENCE___PROPERTIES; /** - * The operation id for the '<em>Member Ends</em>' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___MEMBER_ENDS = EXTERNAL_ELEMENT_REFERENCE___MEMBER_ENDS; - - /** * The operation id for the '<em>Association Ends</em>' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -4288,15 +4261,6 @@ public interface AlfPackage extends EPackage { int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___ASSOCIATION_ENDS = EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION_ENDS; /** - * The operation id for the '<em>Owned Ends</em>' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___OWNED_ENDS = EXTERNAL_ELEMENT_REFERENCE___OWNED_ENDS; - - /** * The operation id for the '<em>Opposite</em>' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -4775,24 +4739,6 @@ public interface AlfPackage extends EPackage { int BOUND_ELEMENT_REFERENCE___VISIBLE_MEMBERS = ELEMENT_REFERENCE___VISIBLE_MEMBERS; /** - * The operation id for the '<em>Properties</em>' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int BOUND_ELEMENT_REFERENCE___PROPERTIES = ELEMENT_REFERENCE___PROPERTIES; - - /** - * The operation id for the '<em>Association Ends</em>' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int BOUND_ELEMENT_REFERENCE___ASSOCIATION_ENDS = ELEMENT_REFERENCE___ASSOCIATION_ENDS; - - /** * The operation id for the '<em>Receptions</em>' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -5360,13 +5306,31 @@ public interface AlfPackage extends EPackage { int BOUND_ELEMENT_REFERENCE___NESTED_CLASSIFIERS = ELEMENT_REFERENCE_OPERATION_COUNT + 47; /** + * The operation id for the '<em>Properties</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BOUND_ELEMENT_REFERENCE___PROPERTIES = ELEMENT_REFERENCE_OPERATION_COUNT + 48; + + /** + * The operation id for the '<em>Association Ends</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BOUND_ELEMENT_REFERENCE___ASSOCIATION_ENDS = ELEMENT_REFERENCE_OPERATION_COUNT + 49; + + /** * The operation id for the '<em>Opposite</em>' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___OPPOSITE = ELEMENT_REFERENCE_OPERATION_COUNT + 48; + int BOUND_ELEMENT_REFERENCE___OPPOSITE = ELEMENT_REFERENCE_OPERATION_COUNT + 50; /** * The operation id for the '<em>Signal</em>' operation. @@ -5375,7 +5339,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 49; + int BOUND_ELEMENT_REFERENCE___SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 51; /** * The operation id for the '<em>Parameters</em>' operation. @@ -5384,7 +5348,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 50; + int BOUND_ELEMENT_REFERENCE___PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 52; /** * The operation id for the '<em>Return Parameter</em>' operation. @@ -5393,7 +5357,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___RETURN_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 51; + int BOUND_ELEMENT_REFERENCE___RETURN_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 53; /** * The operation id for the '<em>Specification</em>' operation. @@ -5402,7 +5366,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___SPECIFICATION = ELEMENT_REFERENCE_OPERATION_COUNT + 52; + int BOUND_ELEMENT_REFERENCE___SPECIFICATION = ELEMENT_REFERENCE_OPERATION_COUNT + 54; /** * The operation id for the '<em>Redefined Operations</em>' operation. @@ -5411,7 +5375,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___REDEFINED_OPERATIONS = ELEMENT_REFERENCE_OPERATION_COUNT + 53; + int BOUND_ELEMENT_REFERENCE___REDEFINED_OPERATIONS = ELEMENT_REFERENCE_OPERATION_COUNT + 55; /** * The operation id for the '<em>Namespace</em>' operation. @@ -5420,7 +5384,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 54; + int BOUND_ELEMENT_REFERENCE___NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 56; /** * The operation id for the '<em>Template</em>' operation. @@ -5429,7 +5393,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 55; + int BOUND_ELEMENT_REFERENCE___TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 57; /** * The operation id for the '<em>Template Parameters</em>' operation. @@ -5438,7 +5402,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 56; + int BOUND_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 58; /** * The operation id for the '<em>Parametered Elements</em>' operation. @@ -5447,7 +5411,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 57; + int BOUND_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 59; /** * The operation id for the '<em>Is Template Binding</em>' operation. @@ -5456,7 +5420,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 58; + int BOUND_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 60; /** * The operation id for the '<em>Template Actuals</em>' operation. @@ -5465,7 +5429,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___TEMPLATE_ACTUALS = ELEMENT_REFERENCE_OPERATION_COUNT + 59; + int BOUND_ELEMENT_REFERENCE___TEMPLATE_ACTUALS = ELEMENT_REFERENCE_OPERATION_COUNT + 61; /** * The operation id for the '<em>Direction</em>' operation. @@ -5474,7 +5438,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___DIRECTION = ELEMENT_REFERENCE_OPERATION_COUNT + 60; + int BOUND_ELEMENT_REFERENCE___DIRECTION = ELEMENT_REFERENCE_OPERATION_COUNT + 62; /** * The operation id for the '<em>Association</em>' operation. @@ -5483,7 +5447,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 61; + int BOUND_ELEMENT_REFERENCE___ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 63; /** * The operation id for the '<em>Type</em>' operation. @@ -5492,7 +5456,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 62; + int BOUND_ELEMENT_REFERENCE___TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 64; /** * The operation id for the '<em>Lower</em>' operation. @@ -5501,7 +5465,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___LOWER = ELEMENT_REFERENCE_OPERATION_COUNT + 63; + int BOUND_ELEMENT_REFERENCE___LOWER = ELEMENT_REFERENCE_OPERATION_COUNT + 65; /** * The operation id for the '<em>Upper</em>' operation. @@ -5510,7 +5474,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___UPPER = ELEMENT_REFERENCE_OPERATION_COUNT + 64; + int BOUND_ELEMENT_REFERENCE___UPPER = ELEMENT_REFERENCE_OPERATION_COUNT + 66; /** * The operation id for the '<em>Is Ordered</em>' operation. @@ -5519,7 +5483,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___IS_ORDERED = ELEMENT_REFERENCE_OPERATION_COUNT + 65; + int BOUND_ELEMENT_REFERENCE___IS_ORDERED = ELEMENT_REFERENCE_OPERATION_COUNT + 67; /** * The operation id for the '<em>Is Nonunique</em>' operation. @@ -5528,7 +5492,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___IS_NONUNIQUE = ELEMENT_REFERENCE_OPERATION_COUNT + 66; + int BOUND_ELEMENT_REFERENCE___IS_NONUNIQUE = ELEMENT_REFERENCE_OPERATION_COUNT + 68; /** * The operation id for the '<em>Parents</em>' operation. @@ -5537,7 +5501,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 67; + int BOUND_ELEMENT_REFERENCE___PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 69; /** * The operation id for the '<em>All Parents</em>' operation. @@ -5546,7 +5510,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___ALL_PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 68; + int BOUND_ELEMENT_REFERENCE___ALL_PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 70; /** * The operation id for the '<em>Classifier Behavior</em>' operation. @@ -5555,7 +5519,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 69; + int BOUND_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 71; /** * The operation id for the '<em>Applied Profiles</em>' operation. @@ -5564,7 +5528,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___APPLIED_PROFILES = ELEMENT_REFERENCE_OPERATION_COUNT + 70; + int BOUND_ELEMENT_REFERENCE___APPLIED_PROFILES = ELEMENT_REFERENCE_OPERATION_COUNT + 72; /** * The operation id for the '<em>Reference</em>' operation. @@ -5573,7 +5537,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___REFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 71; + int BOUND_ELEMENT_REFERENCE___REFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 73; /** * The operation id for the '<em>Template Binding</em>' operation. @@ -5582,7 +5546,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 72; + int BOUND_ELEMENT_REFERENCE___TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 74; /** * The operation id for the '<em>Active Class</em>' operation. @@ -5591,7 +5555,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 73; + int BOUND_ELEMENT_REFERENCE___ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 75; /** * The operation id for the '<em>Context</em>' operation. @@ -5600,7 +5564,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___CONTEXT = ELEMENT_REFERENCE_OPERATION_COUNT + 74; + int BOUND_ELEMENT_REFERENCE___CONTEXT = ELEMENT_REFERENCE_OPERATION_COUNT + 76; /** * The operation id for the '<em>Is Active Behavior</em>' operation. @@ -5609,7 +5573,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 75; + int BOUND_ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 77; /** * The operation id for the '<em>Conforms To</em>' operation. @@ -5618,7 +5582,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 76; + int BOUND_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 78; /** * The operation id for the '<em>Equals</em>' operation. @@ -5627,7 +5591,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 77; + int BOUND_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 79; /** * The operation id for the '<em>Copy</em>' operation. @@ -5636,7 +5600,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___COPY = ELEMENT_REFERENCE_OPERATION_COUNT + 78; + int BOUND_ELEMENT_REFERENCE___COPY = ELEMENT_REFERENCE_OPERATION_COUNT + 80; /** * The operation id for the '<em>Model Scope</em>' operation. @@ -5645,7 +5609,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___MODEL_SCOPE = ELEMENT_REFERENCE_OPERATION_COUNT + 79; + int BOUND_ELEMENT_REFERENCE___MODEL_SCOPE = ELEMENT_REFERENCE_OPERATION_COUNT + 81; /** * The operation id for the '<em>Resolve Path Name</em>' operation. @@ -5654,7 +5618,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 80; + int BOUND_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 82; /** * The operation id for the '<em>Resolve In Scope</em>' operation. @@ -5663,7 +5627,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 81; + int BOUND_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 83; /** * The operation id for the '<em>Resolve Stereotype</em>' operation. @@ -5672,7 +5636,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 82; + int BOUND_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 84; /** * The operation id for the '<em>Stub</em>' operation. @@ -5681,7 +5645,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___STUB = ELEMENT_REFERENCE_OPERATION_COUNT + 83; + int BOUND_ELEMENT_REFERENCE___STUB = ELEMENT_REFERENCE_OPERATION_COUNT + 85; /** * The operation id for the '<em>Stub For</em>' operation. @@ -5690,7 +5654,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 84; + int BOUND_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 86; /** * The operation id for the '<em>Bound Reference To</em>' operation. @@ -5699,7 +5663,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___BOUND_REFERENCE_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 85; + int BOUND_ELEMENT_REFERENCE___BOUND_REFERENCE_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 87; /** * The operation id for the '<em>Bound Reference To1</em>' operation. @@ -5708,7 +5672,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___BOUND_REFERENCE_TO1__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 86; + int BOUND_ELEMENT_REFERENCE___BOUND_REFERENCE_TO1__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 88; /** * The operation id for the '<em>Bound References To</em>' operation. @@ -5717,7 +5681,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE___BOUND_REFERENCES_TO__ELIST = ELEMENT_REFERENCE_OPERATION_COUNT + 87; + int BOUND_ELEMENT_REFERENCE___BOUND_REFERENCES_TO__ELIST = ELEMENT_REFERENCE_OPERATION_COUNT + 89; /** * The number of operations of the '<em>Bound Element Reference</em>' class. @@ -5726,7 +5690,7 @@ public interface AlfPackage extends EPackage { * @generated * @ordered */ - int BOUND_ELEMENT_REFERENCE_OPERATION_COUNT = ELEMENT_REFERENCE_OPERATION_COUNT + 88; + int BOUND_ELEMENT_REFERENCE_OPERATION_COUNT = ELEMENT_REFERENCE_OPERATION_COUNT + 90; /** * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.DocumentedElementImpl <em>Documented Element</em>}' class. @@ -90088,16 +90052,6 @@ public interface AlfPackage extends EPackage { EOperation getExternalElementReference__Properties(); /** - * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#memberEnds() <em>Member Ends</em>}' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the '<em>Member Ends</em>' operation. - * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#memberEnds() - * @generated - */ - EOperation getExternalElementReference__MemberEnds(); - - /** * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#associationEnds() <em>Association Ends</em>}' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -90108,16 +90062,6 @@ public interface AlfPackage extends EPackage { EOperation getExternalElementReference__AssociationEnds(); /** - * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#ownedEnds() <em>Owned Ends</em>}' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the '<em>Owned Ends</em>' operation. - * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#ownedEnds() - * @generated - */ - EOperation getExternalElementReference__OwnedEnds(); - - /** * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#opposite() <em>Opposite</em>}' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -91091,6 +91035,26 @@ public interface AlfPackage extends EPackage { EOperation getBoundElementReference__NestedClassifiers(); /** + * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#properties() <em>Properties</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Properties</em>' operation. + * @see org.eclipse.papyrus.uml.alf.BoundElementReference#properties() + * @generated + */ + EOperation getBoundElementReference__Properties(); + + /** + * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#associationEnds() <em>Association Ends</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Association Ends</em>' operation. + * @see org.eclipse.papyrus.uml.alf.BoundElementReference#associationEnds() + * @generated + */ + EOperation getBoundElementReference__AssociationEnds(); + + /** * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#opposite() <em>Opposite</em>}' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BehaviorInvocationExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BehaviorInvocationExpression.java index 67954502298..46a3a99dc14 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BehaviorInvocationExpression.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BehaviorInvocationExpression.java @@ -132,7 +132,7 @@ public interface BehaviorInvocationExpression extends InvocationExpression { * resolution rules, unless it is an implicit destructor call (in which case * it has no referent). * <!-- end-model-doc --> - * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isImplicit or \n let referent = self.referent in\n referent <> null and \n -- NOTE: This check prevents the invocation from disambiguating to an \n -- illegal constructor invocation.\n not referent.isConstructor()'" + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isImplicit or \n let referent = self.referent in\n referent <> null and \n -- NOTE: This check prevents the invocation from disambiguating to an \n -- illegal constructor invocation.\n not referent.isConstructor() and\n -- Also check that the association owns all its ends.\n referent.isAssociationEnd() implies\n \treferent.association().properties()->forAll(isAssociationEnd())'" * @generated */ boolean behaviorInvocationExpressionReferentConstraint(DiagnosticChain diagnostics, Map<Object, Object> context); diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BitStringUnaryExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BitStringUnaryExpression.java index ecb0caee5be..b59e296ef1b 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BitStringUnaryExpression.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BitStringUnaryExpression.java @@ -35,8 +35,6 @@ public interface BitStringUnaryExpression extends UnaryExpression { * @see #setIsBitStringConversion(boolean) * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBitStringUnaryExpression_IsBitStringConversion() * @model transient="true" volatile="true" derived="true" - * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='FeatureInvocationExpression'" - * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='FeatureInvocationExpression'" * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.isIntegerType(self.operand.type)'" * @generated */ diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundElementReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundElementReference.java index 180ea68e627..4829dd9343e 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundElementReference.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundElementReference.java @@ -533,6 +533,22 @@ public interface BoundElementReference extends ElementReference { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.boundReferencesTo(self.referent.properties())->asOrderedSet()'" + * @generated + */ + EList<ElementReference> properties(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.boundReferencesTo(self.referent.associationEnds())->asOrderedSet()'" + * @generated + */ + EList<ElementReference> associationEnds(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.boundReferenceTo(self.referent.opposite())'" * @generated */ diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalElementReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalElementReference.java index 72dc6b4579b..e5bd8347c83 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalElementReference.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalElementReference.java @@ -521,7 +521,7 @@ public interface ExternalElementReference extends ElementReference { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isClassifier() then OrderedSet(ElementReference){}\n else if self.isAssociation() then\n -- NOTE: This is to ensure proper ordering.\n self.memberEnds()->appendAll(self.parents().properties()->asOrderedSet())\n else\n self.element.oclAsType(uml::Classifier).allAttributes()->\n collect(a | ExternalElementReference{element = a})->\n asOrderedSet()\n endif endif'" + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isClassifier() then OrderedSet(ElementReference){}\n else if self.isAssociation() then \n \tself.members()->select(isProperty())\n else\n self.element.oclAsType(uml::Classifier).allAttributes()->\n collect(a | ExternalElementReference{element = a})->\n asOrderedSet()\n endif endif'" * @generated */ EList<ElementReference> properties(); @@ -529,15 +529,7 @@ public interface ExternalElementReference extends ElementReference { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isAssociation() then OrderedSet(ElementReference){}\n else\n self.element.oclAsType(uml::Association).memberEnd->\n collect(e | ExternalElementReference{element = e})->\n asOrderedSet()\n endif'" - * @generated - */ - EList<ElementReference> memberEnds(); - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n -- NOTE: This is to ensure proper ordering.\n self.ownedEnds()->appendAll(self.parents().associationEnds()->asOrderedSet())'" + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n\t\tif not self.isAssociation() then OrderedSet(ElementReference){}\n\t\telse \n\t\t\tself.element.oclAsType(uml::Association).ownedEnd->\n collect(e | ExternalElementReference{element = e})->\n asOrderedSet()\n\t\tendif'" * @generated */ EList<ElementReference> associationEnds(); @@ -545,14 +537,6 @@ public interface ExternalElementReference extends ElementReference { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isAssociation() then OrderedSet(ElementReference){}\n else\n self.element.oclAsType(uml::Association).ownedEnd->\n collect(e | ExternalElementReference{element = e})->\n asOrderedSet()\n endif'" - * @generated - */ - EList<ElementReference> ownedEnds(); - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n-- if not self.isProperty() then null\n-- else self.element.oclAsType(uml::Property).opposite()\n-- endif;\n if not self.isAssociationEnd() then null\n else\n let property = self.element.oclAsType(uml::Property) in\n let association = property.association in\n let ends = association.memberEnd in\n if ends->size() <> 2 then null\n else ExternalElementReference{element= ends->any(e | e <> property)}\n endif\n endif'" * @generated */ diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InvocationExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InvocationExpression.java index 962ccc9c253..933da7dab77 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InvocationExpression.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InvocationExpression.java @@ -461,7 +461,7 @@ public interface InvocationExpression extends Expression { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n if self.isBehavior or self.isOperation then\n referent.parameters()\n else if self.isAssociationEnd then\n let association = referent.association() in\n association.properties()->reject(equals(referent))->\n collect(p | self.parameterFromPropertyWithMultiplicity(p, \'1\', \'1\'))->asOrderedSet()\n else if referent <> null then\n referent.properties()->\n collect(p | self.parameterFromProperty(p))->asOrderedSet() \n else\n OrderedSet(ElementReference){}\n endif endif endif'" + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n if self.isBehavior or self.isOperation then\n referent.parameters()\n else if self.isAssociationEnd then\n let association = referent.association() in\n association.associationEnds()->reject(equals(referent))->\n collect(p | self.parameterFromPropertyWithMultiplicity(p, \'1\', \'1\'))->asOrderedSet()\n else if referent <> null then\n referent.properties()->\n collect(p | self.parameterFromProperty(p))->asOrderedSet() \n else\n OrderedSet(ElementReference){}\n endif endif endif'" * @generated */ EList<ElementReference> InvocationExpression_parameterElements(); diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LinkOperationExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LinkOperationExpression.java index 39b39500001..78b5d85e6e8 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LinkOperationExpression.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LinkOperationExpression.java @@ -204,7 +204,7 @@ public interface LinkOperationExpression extends InvocationExpression { * The qualified name of a link operation expression must resolve to a * single association. * <!-- end-model-doc --> - * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent <> null'" + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n\tself.referent <> null and \n\t-- Also check that the association owns all its ends.\n\tself.referent.properties()->forAll(isAssociationEnd())'" * @generated */ boolean linkOperationExpressionAssociationReference(DiagnosticChain diagnostics, Map<Object, Object> context); @@ -228,7 +228,7 @@ public interface LinkOperationExpression extends InvocationExpression { * For a clear association operation, returns a single, typeless parameter. * Otherwise, returns the ends of the named association. * <!-- end-model-doc --> - * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isClear then\n OrderedSet(ElementReference){\n FormalParameter{\n direction = \'in\',\n typePart = TypedElementDefinition{\n lowerBound = \'1\',\n upperBound = \'1\'\n }\n }.toReference()\n }\n else\n let referent = self.referent in\n if referent = null then OrderedSet(ElementReference){}\n else\n self.referent.properties()->collect(property | \n -- NOTE: Arguments for a link operation have multiplicity 1..1.\n parameterFromPropertyWithMultiplicity(property, \'1\', \'1\')\n )->asOrderedSet()\n endif\n endif'" + * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isClear then\n OrderedSet(ElementReference){\n FormalParameter{\n direction = \'in\',\n typePart = TypedElementDefinition{\n lowerBound = \'1\',\n upperBound = \'1\'\n }\n }.toReference()\n }\n else\n let referent = self.referent in\n if referent = null then OrderedSet(ElementReference){}\n else\n self.referent.associationEnds()->collect(property | \n -- NOTE: Arguments for a link operation have multiplicity 1..1.\n parameterFromPropertyWithMultiplicity(property, \'1\', \'1\')\n )->asOrderedSet()\n endif\n endif'" * @generated */ EList<ElementReference> parameterElements(); diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfPackageImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfPackageImpl.java index 6d1075c6576..2f61774b0b4 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfPackageImpl.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfPackageImpl.java @@ -3645,26 +3645,8 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getExternalElementReference__MemberEnds() { - return getExternalElementReference().getEOperations().get(50); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ public EOperation getExternalElementReference__AssociationEnds() { - return getExternalElementReference().getEOperations().get(51); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EOperation getExternalElementReference__OwnedEnds() { - return getExternalElementReference().getEOperations().get(52); + return getExternalElementReference().getEOperations().get(50); } /** @@ -3673,7 +3655,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Opposite() { - return getExternalElementReference().getEOperations().get(53); + return getExternalElementReference().getEOperations().get(51); } /** @@ -3682,7 +3664,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Signal() { - return getExternalElementReference().getEOperations().get(54); + return getExternalElementReference().getEOperations().get(52); } /** @@ -3691,7 +3673,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Namespace() { - return getExternalElementReference().getEOperations().get(55); + return getExternalElementReference().getEOperations().get(53); } /** @@ -3700,7 +3682,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__OwnedParameters() { - return getExternalElementReference().getEOperations().get(56); + return getExternalElementReference().getEOperations().get(54); } /** @@ -3709,7 +3691,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Parameters() { - return getExternalElementReference().getEOperations().get(57); + return getExternalElementReference().getEOperations().get(55); } /** @@ -3718,7 +3700,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ReturnParameter() { - return getExternalElementReference().getEOperations().get(58); + return getExternalElementReference().getEOperations().get(56); } /** @@ -3727,7 +3709,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Specification() { - return getExternalElementReference().getEOperations().get(59); + return getExternalElementReference().getEOperations().get(57); } /** @@ -3736,7 +3718,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__RedefinedOperations() { - return getExternalElementReference().getEOperations().get(60); + return getExternalElementReference().getEOperations().get(58); } /** @@ -3745,7 +3727,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Template() { - return getExternalElementReference().getEOperations().get(61); + return getExternalElementReference().getEOperations().get(59); } /** @@ -3754,7 +3736,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__UmlTemplateBinding() { - return getExternalElementReference().getEOperations().get(62); + return getExternalElementReference().getEOperations().get(60); } /** @@ -3763,7 +3745,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__TemplateParameters() { - return getExternalElementReference().getEOperations().get(63); + return getExternalElementReference().getEOperations().get(61); } /** @@ -3772,7 +3754,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ParameteredElements() { - return getExternalElementReference().getEOperations().get(64); + return getExternalElementReference().getEOperations().get(62); } /** @@ -3781,7 +3763,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__TemplateActuals() { - return getExternalElementReference().getEOperations().get(65); + return getExternalElementReference().getEOperations().get(63); } /** @@ -3790,7 +3772,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Direction() { - return getExternalElementReference().getEOperations().get(66); + return getExternalElementReference().getEOperations().get(64); } /** @@ -3799,7 +3781,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Association() { - return getExternalElementReference().getEOperations().get(67); + return getExternalElementReference().getEOperations().get(65); } /** @@ -3808,7 +3790,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Type() { - return getExternalElementReference().getEOperations().get(68); + return getExternalElementReference().getEOperations().get(66); } /** @@ -3817,7 +3799,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Lower() { - return getExternalElementReference().getEOperations().get(69); + return getExternalElementReference().getEOperations().get(67); } /** @@ -3826,7 +3808,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Upper() { - return getExternalElementReference().getEOperations().get(70); + return getExternalElementReference().getEOperations().get(68); } /** @@ -3835,7 +3817,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__IsOrdered() { - return getExternalElementReference().getEOperations().get(71); + return getExternalElementReference().getEOperations().get(69); } /** @@ -3844,7 +3826,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__IsNonunique() { - return getExternalElementReference().getEOperations().get(72); + return getExternalElementReference().getEOperations().get(70); } /** @@ -3853,7 +3835,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Parents() { - return getExternalElementReference().getEOperations().get(73); + return getExternalElementReference().getEOperations().get(71); } /** @@ -3862,7 +3844,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__AllParents() { - return getExternalElementReference().getEOperations().get(74); + return getExternalElementReference().getEOperations().get(72); } /** @@ -3871,7 +3853,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ClassifierBehavior() { - return getExternalElementReference().getEOperations().get(75); + return getExternalElementReference().getEOperations().get(73); } /** @@ -3880,7 +3862,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__AppliedProfiles() { - return getExternalElementReference().getEOperations().get(76); + return getExternalElementReference().getEOperations().get(74); } /** @@ -3889,7 +3871,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ActiveClass() { - return getExternalElementReference().getEOperations().get(77); + return getExternalElementReference().getEOperations().get(75); } /** @@ -3898,7 +3880,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Context() { - return getExternalElementReference().getEOperations().get(78); + return getExternalElementReference().getEOperations().get(76); } /** @@ -3907,7 +3889,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ConformsTo__ElementReference() { - return getExternalElementReference().getEOperations().get(79); + return getExternalElementReference().getEOperations().get(77); } /** @@ -3916,7 +3898,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Equals__ElementReference() { - return getExternalElementReference().getEOperations().get(80); + return getExternalElementReference().getEOperations().get(78); } /** @@ -3925,7 +3907,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Copy() { - return getExternalElementReference().getEOperations().get(81); + return getExternalElementReference().getEOperations().get(79); } /** @@ -3934,7 +3916,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ModelScope() { - return getExternalElementReference().getEOperations().get(82); + return getExternalElementReference().getEOperations().get(80); } /** @@ -3943,7 +3925,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ResolvePathName__String() { - return getExternalElementReference().getEOperations().get(83); + return getExternalElementReference().getEOperations().get(81); } /** @@ -3952,7 +3934,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ExternalElementReference_resolvePathName__String() { - return getExternalElementReference().getEOperations().get(84); + return getExternalElementReference().getEOperations().get(82); } /** @@ -3961,7 +3943,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ResolveInScope__String() { - return getExternalElementReference().getEOperations().get(85); + return getExternalElementReference().getEOperations().get(83); } /** @@ -3970,7 +3952,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__ResolveStereotype__String() { - return getExternalElementReference().getEOperations().get(86); + return getExternalElementReference().getEOperations().get(84); } /** @@ -3979,7 +3961,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__Stub() { - return getExternalElementReference().getEOperations().get(87); + return getExternalElementReference().getEOperations().get(85); } /** @@ -3988,7 +3970,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * @generated */ public EOperation getExternalElementReference__StubFor__UnitDefinition() { - return getExternalElementReference().getEOperations().get(88); + return getExternalElementReference().getEOperations().get(86); } /** @@ -4551,7 +4533,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Opposite() { + public EOperation getBoundElementReference__Properties() { return getBoundElementReference().getEOperations().get(48); } @@ -4560,7 +4542,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Signal() { + public EOperation getBoundElementReference__AssociationEnds() { return getBoundElementReference().getEOperations().get(49); } @@ -4569,7 +4551,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Parameters() { + public EOperation getBoundElementReference__Opposite() { return getBoundElementReference().getEOperations().get(50); } @@ -4578,7 +4560,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__ReturnParameter() { + public EOperation getBoundElementReference__Signal() { return getBoundElementReference().getEOperations().get(51); } @@ -4587,7 +4569,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Specification() { + public EOperation getBoundElementReference__Parameters() { return getBoundElementReference().getEOperations().get(52); } @@ -4596,7 +4578,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__RedefinedOperations() { + public EOperation getBoundElementReference__ReturnParameter() { return getBoundElementReference().getEOperations().get(53); } @@ -4605,7 +4587,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Namespace() { + public EOperation getBoundElementReference__Specification() { return getBoundElementReference().getEOperations().get(54); } @@ -4614,7 +4596,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Template() { + public EOperation getBoundElementReference__RedefinedOperations() { return getBoundElementReference().getEOperations().get(55); } @@ -4623,7 +4605,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__TemplateParameters() { + public EOperation getBoundElementReference__Namespace() { return getBoundElementReference().getEOperations().get(56); } @@ -4632,7 +4614,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__ParameteredElements() { + public EOperation getBoundElementReference__Template() { return getBoundElementReference().getEOperations().get(57); } @@ -4641,7 +4623,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__IsTemplateBinding() { + public EOperation getBoundElementReference__TemplateParameters() { return getBoundElementReference().getEOperations().get(58); } @@ -4650,7 +4632,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__TemplateActuals() { + public EOperation getBoundElementReference__ParameteredElements() { return getBoundElementReference().getEOperations().get(59); } @@ -4659,7 +4641,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Direction() { + public EOperation getBoundElementReference__IsTemplateBinding() { return getBoundElementReference().getEOperations().get(60); } @@ -4668,7 +4650,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Association() { + public EOperation getBoundElementReference__TemplateActuals() { return getBoundElementReference().getEOperations().get(61); } @@ -4677,7 +4659,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Type() { + public EOperation getBoundElementReference__Direction() { return getBoundElementReference().getEOperations().get(62); } @@ -4686,7 +4668,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Lower() { + public EOperation getBoundElementReference__Association() { return getBoundElementReference().getEOperations().get(63); } @@ -4695,7 +4677,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Upper() { + public EOperation getBoundElementReference__Type() { return getBoundElementReference().getEOperations().get(64); } @@ -4704,7 +4686,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__IsOrdered() { + public EOperation getBoundElementReference__Lower() { return getBoundElementReference().getEOperations().get(65); } @@ -4713,7 +4695,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__IsNonunique() { + public EOperation getBoundElementReference__Upper() { return getBoundElementReference().getEOperations().get(66); } @@ -4722,7 +4704,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Parents() { + public EOperation getBoundElementReference__IsOrdered() { return getBoundElementReference().getEOperations().get(67); } @@ -4731,7 +4713,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__AllParents() { + public EOperation getBoundElementReference__IsNonunique() { return getBoundElementReference().getEOperations().get(68); } @@ -4740,7 +4722,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__ClassifierBehavior() { + public EOperation getBoundElementReference__Parents() { return getBoundElementReference().getEOperations().get(69); } @@ -4749,7 +4731,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__AppliedProfiles() { + public EOperation getBoundElementReference__AllParents() { return getBoundElementReference().getEOperations().get(70); } @@ -4758,7 +4740,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Reference() { + public EOperation getBoundElementReference__ClassifierBehavior() { return getBoundElementReference().getEOperations().get(71); } @@ -4767,7 +4749,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__TemplateBinding() { + public EOperation getBoundElementReference__AppliedProfiles() { return getBoundElementReference().getEOperations().get(72); } @@ -4776,7 +4758,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__ActiveClass() { + public EOperation getBoundElementReference__Reference() { return getBoundElementReference().getEOperations().get(73); } @@ -4785,7 +4767,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Context() { + public EOperation getBoundElementReference__TemplateBinding() { return getBoundElementReference().getEOperations().get(74); } @@ -4794,7 +4776,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__IsActiveBehavior() { + public EOperation getBoundElementReference__ActiveClass() { return getBoundElementReference().getEOperations().get(75); } @@ -4803,7 +4785,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__ConformsTo__ElementReference() { + public EOperation getBoundElementReference__Context() { return getBoundElementReference().getEOperations().get(76); } @@ -4812,7 +4794,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Equals__ElementReference() { + public EOperation getBoundElementReference__IsActiveBehavior() { return getBoundElementReference().getEOperations().get(77); } @@ -4821,7 +4803,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Copy() { + public EOperation getBoundElementReference__ConformsTo__ElementReference() { return getBoundElementReference().getEOperations().get(78); } @@ -4830,7 +4812,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__ModelScope() { + public EOperation getBoundElementReference__Equals__ElementReference() { return getBoundElementReference().getEOperations().get(79); } @@ -4839,7 +4821,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__ResolvePathName__String() { + public EOperation getBoundElementReference__Copy() { return getBoundElementReference().getEOperations().get(80); } @@ -4848,7 +4830,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__ResolveInScope__String() { + public EOperation getBoundElementReference__ModelScope() { return getBoundElementReference().getEOperations().get(81); } @@ -4857,7 +4839,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__ResolveStereotype__String() { + public EOperation getBoundElementReference__ResolvePathName__String() { return getBoundElementReference().getEOperations().get(82); } @@ -4866,7 +4848,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__Stub() { + public EOperation getBoundElementReference__ResolveInScope__String() { return getBoundElementReference().getEOperations().get(83); } @@ -4875,7 +4857,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__StubFor__UnitDefinition() { + public EOperation getBoundElementReference__ResolveStereotype__String() { return getBoundElementReference().getEOperations().get(84); } @@ -4884,7 +4866,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__BoundReferenceTo__ElementReference() { + public EOperation getBoundElementReference__Stub() { return getBoundElementReference().getEOperations().get(85); } @@ -4893,7 +4875,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__BoundReferenceTo1__ElementReference() { + public EOperation getBoundElementReference__StubFor__UnitDefinition() { return getBoundElementReference().getEOperations().get(86); } @@ -4902,7 +4884,7 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ - public EOperation getBoundElementReference__BoundReferencesTo__EList() { + public EOperation getBoundElementReference__BoundReferenceTo__ElementReference() { return getBoundElementReference().getEOperations().get(87); } @@ -4911,6 +4893,24 @@ public class AlfPackageImpl extends EPackageImpl implements AlfPackage { * <!-- end-user-doc --> * @generated */ + public EOperation getBoundElementReference__BoundReferenceTo1__ElementReference() { + return getBoundElementReference().getEOperations().get(88); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EOperation getBoundElementReference__BoundReferencesTo__EList() { + return getBoundElementReference().getEOperations().get(89); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ public EClass getDocumentedElement() { if (documentedElementEClass == null) { documentedElementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(7); diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BehaviorInvocationExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BehaviorInvocationExpressionImpl.java index 6d5d2ba294a..390cd29c173 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BehaviorInvocationExpressionImpl.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BehaviorInvocationExpressionImpl.java @@ -244,7 +244,10 @@ public class BehaviorInvocationExpressionImpl extends InvocationExpressionImpl i " referent <> null and \n" + " -- NOTE: This check prevents the invocation from disambiguating to an \n" + " -- illegal constructor invocation.\n" + - " not referent.isConstructor()"; + " not referent.isConstructor() and\n" + + " -- Also check that the association owns all its ends.\n" + + " referent.isAssociationEnd() implies\n" + + " \treferent.association().properties()->forAll(isAssociationEnd())"; /** * <!-- begin-user-doc --> diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundElementReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundElementReferenceImpl.java index 7375e42b476..2e311695cbb 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundElementReferenceImpl.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundElementReferenceImpl.java @@ -1262,6 +1262,54 @@ public class BoundElementReferenceImpl extends ElementReferenceImpl implements B } /** + * The cached invocation delegate for the '{@link #properties() <em>Properties</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #properties() + * @generated + * @ordered + */ + protected static final EOperation.Internal.InvocationDelegate PROPERTIES__EINVOCATION_DELEGATE = ((EOperation.Internal)AlfPackage.eINSTANCE.getBoundElementReference__Properties()).getInvocationDelegate(); + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + public EList<ElementReference> properties() { + try { + return (EList<ElementReference>)PROPERTIES__EINVOCATION_DELEGATE.dynamicInvoke(this, null); + } + catch (InvocationTargetException ite) { + throw new WrappedException(ite); + } + } + + /** + * The cached invocation delegate for the '{@link #associationEnds() <em>Association Ends</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #associationEnds() + * @generated + * @ordered + */ + protected static final EOperation.Internal.InvocationDelegate ASSOCIATION_ENDS__EINVOCATION_DELEGATE = ((EOperation.Internal)AlfPackage.eINSTANCE.getBoundElementReference__AssociationEnds()).getInvocationDelegate(); + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + public EList<ElementReference> associationEnds() { + try { + return (EList<ElementReference>)ASSOCIATION_ENDS__EINVOCATION_DELEGATE.dynamicInvoke(this, null); + } + catch (InvocationTargetException ite) { + throw new WrappedException(ite); + } + } + + /** * The cached invocation delegate for the '{@link #opposite() <em>Opposite</em>}' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2277,6 +2325,8 @@ public class BoundElementReferenceImpl extends ElementReferenceImpl implements B case AlfPackage.ELEMENT_REFERENCE___OWNED_MEMBERS: return AlfPackage.BOUND_ELEMENT_REFERENCE___OWNED_MEMBERS; case AlfPackage.ELEMENT_REFERENCE___MEMBERS: return AlfPackage.BOUND_ELEMENT_REFERENCE___MEMBERS; case AlfPackage.ELEMENT_REFERENCE___NESTED_CLASSIFIERS: return AlfPackage.BOUND_ELEMENT_REFERENCE___NESTED_CLASSIFIERS; + case AlfPackage.ELEMENT_REFERENCE___PROPERTIES: return AlfPackage.BOUND_ELEMENT_REFERENCE___PROPERTIES; + case AlfPackage.ELEMENT_REFERENCE___ASSOCIATION_ENDS: return AlfPackage.BOUND_ELEMENT_REFERENCE___ASSOCIATION_ENDS; case AlfPackage.ELEMENT_REFERENCE___OPPOSITE: return AlfPackage.BOUND_ELEMENT_REFERENCE___OPPOSITE; case AlfPackage.ELEMENT_REFERENCE___SIGNAL: return AlfPackage.BOUND_ELEMENT_REFERENCE___SIGNAL; case AlfPackage.ELEMENT_REFERENCE___PARAMETERS: return AlfPackage.BOUND_ELEMENT_REFERENCE___PARAMETERS; @@ -2424,6 +2474,10 @@ public class BoundElementReferenceImpl extends ElementReferenceImpl implements B return members(); case AlfPackage.BOUND_ELEMENT_REFERENCE___NESTED_CLASSIFIERS: return nestedClassifiers(); + case AlfPackage.BOUND_ELEMENT_REFERENCE___PROPERTIES: + return properties(); + case AlfPackage.BOUND_ELEMENT_REFERENCE___ASSOCIATION_ENDS: + return associationEnds(); case AlfPackage.BOUND_ELEMENT_REFERENCE___OPPOSITE: return opposite(); case AlfPackage.BOUND_ELEMENT_REFERENCE___SIGNAL: diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalElementReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalElementReferenceImpl.java index 40454b52751..20a84a043cd 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalElementReferenceImpl.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalElementReferenceImpl.java @@ -1290,31 +1290,6 @@ public class ExternalElementReferenceImpl extends ElementReferenceImpl implement } /** - * The cached invocation delegate for the '{@link #memberEnds() <em>Member Ends</em>}' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #memberEnds() - * @generated - * @ordered - */ - protected static final EOperation.Internal.InvocationDelegate MEMBER_ENDS__EINVOCATION_DELEGATE = ((EOperation.Internal)AlfPackage.eINSTANCE.getExternalElementReference__MemberEnds()).getInvocationDelegate(); - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @SuppressWarnings("unchecked") - public EList<ElementReference> memberEnds() { - try { - return (EList<ElementReference>)MEMBER_ENDS__EINVOCATION_DELEGATE.dynamicInvoke(this, null); - } - catch (InvocationTargetException ite) { - throw new WrappedException(ite); - } - } - - /** * The cached invocation delegate for the '{@link #associationEnds() <em>Association Ends</em>}' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1340,31 +1315,6 @@ public class ExternalElementReferenceImpl extends ElementReferenceImpl implement } /** - * The cached invocation delegate for the '{@link #ownedEnds() <em>Owned Ends</em>}' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #ownedEnds() - * @generated - * @ordered - */ - protected static final EOperation.Internal.InvocationDelegate OWNED_ENDS__EINVOCATION_DELEGATE = ((EOperation.Internal)AlfPackage.eINSTANCE.getExternalElementReference__OwnedEnds()).getInvocationDelegate(); - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @SuppressWarnings("unchecked") - public EList<ElementReference> ownedEnds() { - try { - return (EList<ElementReference>)OWNED_ENDS__EINVOCATION_DELEGATE.dynamicInvoke(this, null); - } - catch (InvocationTargetException ite) { - throw new WrappedException(ite); - } - } - - /** * The cached invocation delegate for the '{@link #opposite() <em>Opposite</em>}' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2432,12 +2382,8 @@ public class ExternalElementReferenceImpl extends ElementReferenceImpl implement return nestedClassifiers(); case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___PROPERTIES: return properties(); - case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___MEMBER_ENDS: - return memberEnds(); case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION_ENDS: return associationEnds(); - case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___OWNED_ENDS: - return ownedEnds(); case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___OPPOSITE: return opposite(); case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___SIGNAL: diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LinkOperationExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LinkOperationExpressionImpl.java index 6c0b6c27c91..ad35eba7afb 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LinkOperationExpressionImpl.java +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LinkOperationExpressionImpl.java @@ -285,7 +285,10 @@ public class LinkOperationExpressionImpl extends InvocationExpressionImpl implem * @generated * @ordered */ - protected static final String LINK_OPERATION_EXPRESSION_ASSOCIATION_REFERENCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.referent <> null"; + protected static final String LINK_OPERATION_EXPRESSION_ASSOCIATION_REFERENCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" + + "\tself.referent <> null and \n" + + "\t-- Also check that the association owns all its ends.\n" + + "\tself.referent.properties()->forAll(isAssociationEnd())"; /** * <!-- begin-user-doc --> diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/alf.ecore b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/alf.ecore index b0e8c6c06e5..1df2f678b5b 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/alf.ecore +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/alf.ecore @@ -1147,22 +1147,12 @@ </eOperations>
<eOperations name="properties" upperBound="-1" eType="#//ElementReference">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
- <details key="body" value="
 if not self.isClassifier() then OrderedSet(ElementReference){}
 else if self.isAssociation() then
 -- NOTE: This is to ensure proper ordering.
 self.memberEnds()->appendAll(self.parents().properties()->asOrderedSet())
 else
 self.element.oclAsType(uml::Classifier).allAttributes()->
 collect(a | ExternalElementReference{element = a})->
 asOrderedSet()
 endif endif"/>
- </eAnnotations>
- </eOperations>
- <eOperations name="memberEnds" upperBound="-1" eType="#//ElementReference">
- <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
- <details key="body" value="
 if not self.isAssociation() then OrderedSet(ElementReference){}
 else
 self.element.oclAsType(uml::Association).memberEnd->
 collect(e | ExternalElementReference{element = e})->
 asOrderedSet()
 endif"/>
+ <details key="body" value="
 if not self.isClassifier() then OrderedSet(ElementReference){}
 else if self.isAssociation() then 
 	self.members()->select(isProperty())
 else
 self.element.oclAsType(uml::Classifier).allAttributes()->
 collect(a | ExternalElementReference{element = a})->
 asOrderedSet()
 endif endif"/>
</eAnnotations>
</eOperations>
<eOperations name="associationEnds" upperBound="-1" eType="#//ElementReference">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
- <details key="body" value="
 -- NOTE: This is to ensure proper ordering.
 self.ownedEnds()->appendAll(self.parents().associationEnds()->asOrderedSet())"/>
- </eAnnotations>
- </eOperations>
- <eOperations name="ownedEnds" upperBound="-1" eType="#//ElementReference">
- <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
- <details key="body" value="
 if not self.isAssociation() then OrderedSet(ElementReference){}
 else
 self.element.oclAsType(uml::Association).ownedEnd->
 collect(e | ExternalElementReference{element = e})->
 asOrderedSet()
 endif"/>
+ <details key="body" value="
		if not self.isAssociation() then OrderedSet(ElementReference){}
		else 
			self.element.oclAsType(uml::Association).ownedEnd->
 collect(e | ExternalElementReference{element = e})->
 asOrderedSet()
		endif"/>
</eAnnotations>
</eOperations>
<eOperations name="opposite" eType="#//ElementReference">
@@ -1634,6 +1624,16 @@ <details key="body" value="self.boundReferencesTo(self.referent.nestedClassifiers())->asOrderedSet()"/>
</eAnnotations>
</eOperations>
+ <eOperations name="properties" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.boundReferencesTo(self.referent.properties())->asOrderedSet()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="associationEnds" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.boundReferencesTo(self.referent.associationEnds())->asOrderedSet()"/>
+ </eAnnotations>
+ </eOperations>
<eOperations name="opposite" eType="#//ElementReference">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="body" value="
 self.boundReferenceTo(self.referent.opposite())"/>
@@ -3369,7 +3369,7 @@ </eOperations>
<eOperations name="InvocationExpression_parameterElements" upperBound="-1" eType="#//ElementReference">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
- <details key="body" value="
 let referent = self.referent in
 if self.isBehavior or self.isOperation then
 referent.parameters()
 else if self.isAssociationEnd then
 let association = referent.association() in
 association.properties()->reject(equals(referent))->
 collect(p | self.parameterFromPropertyWithMultiplicity(p, '1', '1'))->asOrderedSet()
 else if referent <> null then
 referent.properties()->
 collect(p | self.parameterFromProperty(p))->asOrderedSet() 
 else
 OrderedSet(ElementReference){}
 endif endif endif"/>
+ <details key="body" value="
 let referent = self.referent in
 if self.isBehavior or self.isOperation then
 referent.parameters()
 else if self.isAssociationEnd then
 let association = referent.association() in
 association.associationEnds()->reject(equals(referent))->
 collect(p | self.parameterFromPropertyWithMultiplicity(p, '1', '1'))->asOrderedSet()
 else if referent <> null then
 referent.properties()->
 collect(p | self.parameterFromProperty(p))->asOrderedSet() 
 else
 OrderedSet(ElementReference){}
 endif endif endif"/>
</eAnnotations>
</eOperations>
<eOperations name="parameterFromProperty" lowerBound="1" eType="#//ElementReference">
@@ -4233,7 +4233,7 @@ </eOperations>
<eOperations name="linkOperationExpressionAssociationReference" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
- <details key="body" value="self.referent <> null"/>
+ <details key="body" value="
	self.referent <> null and 
	-- Also check that the association owns all its ends.
	self.referent.properties()->forAll(isAssociationEnd())"/>
</eAnnotations>
<eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
<eParameters name="context">
@@ -4257,7 +4257,7 @@ </eOperations>
<eOperations name="parameterElements" upperBound="-1" eType="#//ElementReference">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
- <details key="body" value="
 if self.isClear then
 OrderedSet(ElementReference){
 FormalParameter{
 direction = 'in',
 typePart = TypedElementDefinition{
 lowerBound = '1',
 upperBound = '1'
 }
 }.toReference()
 }
 else
 let referent = self.referent in
 if referent = null then OrderedSet(ElementReference){}
 else
 self.referent.properties()->collect(property | 
 -- NOTE: Arguments for a link operation have multiplicity 1..1.
 parameterFromPropertyWithMultiplicity(property, '1', '1')
 )->asOrderedSet()
 endif
 endif"/>
+ <details key="body" value="
 if self.isClear then
 OrderedSet(ElementReference){
 FormalParameter{
 direction = 'in',
 typePart = TypedElementDefinition{
 lowerBound = '1',
 upperBound = '1'
 }
 }.toReference()
 }
 else
 let referent = self.referent in
 if referent = null then OrderedSet(ElementReference){}
 else
 self.referent.associationEnds()->collect(property | 
 -- NOTE: Arguments for a link operation have multiplicity 1..1.
 parameterFromPropertyWithMultiplicity(property, '1', '1')
 )->asOrderedSet()
 endif
 endif"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" lowerBound="1"
@@ -5678,12 +5678,6 @@ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBitStringConversion"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
transient="true" derived="true">
- <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
- <details key="body" value="FeatureInvocationExpression"/>
- </eAnnotations>
- <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
- <details key="body" value="FeatureInvocationExpression"/>
- </eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="derivation" value="self.isIntegerType(self.operand.type)"/>
</eAnnotations>
@@ -5801,7 +5795,7 @@ </eOperations>
<eOperations name="behaviorInvocationExpressionReferentConstraint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
- <details key="body" value="
 self.isImplicit or 
 let referent = self.referent in
 referent <> null and 
 -- NOTE: This check prevents the invocation from disambiguating to an 
 -- illegal constructor invocation.
 not referent.isConstructor()"/>
+ <details key="body" value="
 self.isImplicit or 
 let referent = self.referent in
 referent <> null and 
 -- NOTE: This check prevents the invocation from disambiguating to an 
 -- illegal constructor invocation.
 not referent.isConstructor() and
 -- Also check that the association owns all its ends.
 referent.isAssociationEnd() implies
 	referent.association().properties()->forAll(isAssociationEnd())"/>
</eAnnotations>
<eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
<eParameters name="context">
|